home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / msgtos20.zip / MSGTOSS.DOC < prev    next >
Text File  |  1992-02-11  |  144KB  |  3,697 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.                           MSGTOSS Version 2.0
  16.  
  17.           High-Performance FidoNet Mail Processor for RBBS-PC
  18.  
  19.           Copyright(c) 1989-92 Mike Zakharoff & Warren Muldrow
  20.  
  21.                Mike  : FidoNet 1:138/154 Rbbsnet 8:918/10
  22.                Warren: FidoNet 1:3617/1  Rbbsnet 8:928/1
  23.  
  24.  
  25.  
  26.  
  27.                           ALL RIGHTS RESERVED
  28.  
  29.  
  30.  
  31.                     T E C H N I C A L    M A N U A L
  32.  
  33.                                   for
  34.  
  35.                      MSGTOSS RBBS-PC Mail Processor
  36.  
  37.  
  38.       Written by Mike Zakharoff, assisted by Tim Jacobs & Craig Gagner
  39.  
  40.  
  41.                                  DISCLAIMER 
  42.                                  ---------- 
  43.  
  44. The  authors make no claims or warranties with respect  to the contents  or
  45. accuracy  of this publication,  or the product it describes,  including any
  46. warranties  of fitness or merchantability for a  particular purpose.    Any
  47. stated   or  expressed warranties  are  in  lieu   of  all  obligations  or
  48. liability for any damages,  whether special,   indirect,  or consequential,
  49. arising   out  of or  in  connection  with the  use of this publication  or
  50. the product it describes.   Furthermore, the  right is reserved to make any
  51. changes  to this  publication  without   obligation  to  notify  any person
  52. of such changes. 
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.                              MSGTOSS Version 2.0
  69.  
  70.  
  71.                                L I C E N S E
  72.                                -------------
  73.  
  74. MSGTOSS  is   not a  Public Domain  program and is not  free.   MSGTOSS  is
  75. copyright(c)  1989,1990,1991,1992  by  Mike Zakharoff and  Warren  Muldrow.
  76. Non-registered users of  this  program are  granted a  two week license  to
  77. evaluate   the program suitability for their requirements.   Any usage   of
  78. Msgtoss  beyond evaluation time period requires registration.   Use of non-
  79. registered  copies of Msgtoss beyond the original evaluation  period is not
  80. wished. You are free to distribute the PUBLICLY AVAILABLE shareware version
  81. of MSGTOSS.
  82.  
  83. MSGTOSS is SHAREWARE.  MSGTOSS was not an easy project,  as  it took 1000's
  84. of hours to develop and test.  The author has written other  RBBS utilities
  85. such as MSGRENUM, MAILWAIT, MSGECHO, FIXMSG, all of which  were released as
  86. freeware;   none  of  which  compares  to  the complexity  of MSGTOSS.  Fu-
  87. ture releases of MSGTOSS will depend upon  how much support  the author re-
  88. ceives.  Therefore the author is asking for $25.00 for its use to:
  89.  
  90.                                MIKE ZAKHAROFF
  91.                              18004 22ND ST CT E
  92.                               SUMNER, WA 98390
  93.  
  94. Keep  in mind that the authors could have easily crippled MSGTOSS with  all
  95. sorts  of schemes,  including disabling the multi-tasking/network  support,
  96. requiring a password,  annoying "not-registered" lines appended to the tear
  97. line,  beg screens, long delays,  and other things to pester you to support
  98. the authors.  If I were to figure out the amount of hours it took to devel-
  99. op and test this program, it would easily run into 10,000 hours of personal
  100. time  that really can't be assigned any value.   This was a service to  the
  101. RBBS-PC community, and its development will set the stage for RBBS-PC's fu-
  102. ture in the Fidonet community.  Cards and letters always welcome!
  103.  
  104. Registered  users will receive a personal registration code (See REGCODE in
  105. MSGCFG.DOC),  as  much personal support as  possible.   Non-supporters will
  106. basically be doomed to slither in their own guilt for all eternity. 
  107.  
  108.                                  WARRANTIES
  109.                                  ----------
  110.  
  111. MSGTOSS  is guaranteed only to occupy space on your hard drive.   Therefore
  112. the  use  of  MSGTOSS  is  solely at your own risk!  MSGTOSS had been  beta
  113. tested  extensively  to  eliminate bugs, however due to the limitless  pos-
  114. sibilities   of   system  configurations,  no warranty is  possible.  Also,
  115. there are no guarantees that the author will upgrade MSGTOSS.
  116.  
  117.  
  118.                                  TRADEMARKS
  119.                                  ----------
  120.  
  121. The following products have been mentioned in this document:
  122.  
  123. Areafix,Bascom 7.0,Binkleyterm,Confmail,D'Bridge,Desqview,Echodor,
  124. FrontDoor,Lharc,Makearc,Msged,Ommm,Polyxarc,Qmail,Quickbasic 3.0,
  125. RBBC-PC,Rbbsmail,Smlnet,Spaz,Subject & SeaDog
  126.  
  127.  
  128.                                    Page - 2
  129.  
  130.  
  131.  
  132.  
  133.  
  134.                              MSGTOSS Version 2.0
  135.  
  136.  
  137.                              Table  of Contents
  138.                              ------------------
  139.                                                                   Page
  140.  
  141.     Mail Tosser Shock ............................................  5
  142.     Purpose.......................................................  5
  143.     Non RBBS-PC installations.....................................  5
  144.     Features......................................................  6
  145.        SPEED of MSGTOSS...........................................  8
  146.        What MSGTOSS won't do (yet)................................  8
  147.     Credits.......................................................  9
  148.     Requirements.................................................. 10
  149.     MSGTOSS Theory ............................................... 11
  150.        TOSS (8 Phases of mail tossing)............................ 12
  151.            1 Un-Archiving Mail.................................... 12
  152.            2 Packet Identification................................ 13
  153.            3 Analyze Pkt Files.................................... 13
  154.                 Null messages..................................... 14
  155.            4 Purge/Expand Message Bases........................... 14
  156.                 Sysop Messages.................................... 15
  157.                 Users Messages.................................... 15
  158.                 Message renumbering............................... 16
  159.                 Purging whiles users on-line...................... 16
  160.            5 Toss messages........................................ 17
  161.                 File and Record Locking........................... 17
  162.                 Duplicate Messages................................ 17
  163.                 Oversized Messages................................ 18
  164.                 Bad Date or message............................... 18
  165.                 Unknown Messages.................................. 18
  166.                 Capturing Messages................................ 18
  167.                 Right Margin or RBBS messages..................... 19
  168.                 Security Level of RBBS Messages................... 19
  169.                 Private RBBS Messages............................. 19
  170.                 Auto Breaking of Large messages................... 20
  171.                 Stripping Echomail Control Lines.................. 20
  172.                 Elastic Message bases............................. 21
  173.                 Extremely Large Message bases..................... 21
  174.                 Tossing Display................................... 22
  175.                 Echomail to SYSOP................................. 22
  176.                 Feeding Downstream Nodes.......................... 22
  177.                 Passthru areas.................................... 22
  178.                 Tossing NETMAIL................................... 23
  179.                 Killing classes of messages....................... 23
  180.                 After tossing the *.PKT........................... 23
  181.            6 Set Mailwaiting...................................... 24
  182.            7 Create MSGTOSS.LOG................................... 24
  183.            8 Create Maintenance Batch Files....................... 26
  184.        SCAN ...................................................... 27
  185.        Private messages........................................... 27
  186.        Scanning Philosophy........................................ 27
  187.        Mirror scanning............................................ 28
  188.            Initialization......................................... 28
  189.            Scan RBBS message bases................................ 29
  190.            Scan FIDO messages areas............................... 30
  191.            Re-scanning to net/nodes............................... 31
  192.            Create MSGTOSS.LOG..................................... 31
  193.  
  194.                                    Page - 3
  195.  
  196.  
  197.  
  198.  
  199.  
  200.                              MSGTOSS Version 2.0
  201.  
  202.  
  203.                        Table  of Contents (continued)
  204.                        ------------------------------
  205.                                                                   Page
  206.  
  207.     What does DOMAIN mean......................................... 32
  208.     Networking/Multitasking....................................... 34
  209.            Effects of purging whiles users are on-line............ 34
  210.            MSGTOSS as a User...................................... 35
  211.     INSTALLATION.................................................. 36
  212.            Create MSGTOSS directory............................... 36
  213.            Copy files to MSGTOSS directory........................ 36
  214.            Print & read  documentation............................ 37
  215.            Modify sample MSGTOSS.CFG.............................. 38
  216.               If you are not running RBBS-PC...................... 39
  217.            Modify sample MSGTOSS.BBS.............................. 40
  218.            Modify default MSGTOSS.BBS Keywords.................... 41
  219.            Create MSGTOSS.NOD using MSGNLST.EXE................... 43
  220.            Test system setup...................................... 44
  221.            Mail tossing test...................................... 47
  222.            Mail scanning test..................................... 47
  223.               Packing up mail..................................... 47
  224.            Command line switches.................................. 48
  225.            Batch file modification................................ 49
  226.               Packet Unarchiving Info............................. 49
  227.               Batch file example.................................. 50
  228.     HELP!......................................................... 51
  229.            Msgtoss beta testers................................... 51
  230.     Msgtoss Beta Distribution Matrix.............................. 52
  231.     Errors........................................................ 53
  232.     Performance Optimization...................................... 54
  233.     Modify RBBSSUB2.BAS to support /MUSER: ....................... 55
  234.     Epilog........................................................ 56
  235.     INDEX (See MSGIDX.DOC)........................................ <-
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.                                    Page - 4
  261.  
  262.  
  263.  
  264.  
  265.  
  266.                              MSGTOSS Version 2.0
  267.  
  268.  
  269.                              MAIL TOSSER SHOCK
  270.                              -----------------
  271.  
  272. MSGTOSS  is a comprehensive,  highly configurable program.   Because of its
  273. comprehensive  nature,  the  documentation has been split up into four  (4)
  274. separate documents.  These documents are:
  275.  
  276.    MSGTOSS.DOC  - Technical Manual theory of operation & installation
  277.    MSGCFG.DOC   - Reference Manual for MSGTOSS.CFG (configuration)
  278.    MSGBBS.DOC   - Reference Manual for MSGTOSS.BBS (areas.bbs)
  279.    MSGSWI.DOC   - Reference Manual for MSGTOSS command line switches
  280.    MSGIDX.DOC   - Integrated INDEX of all 4 manuals
  281.  
  282. The  printing  out of these manuals should be considered mandatory for  the
  283. setup  and installation of MSGTOSS.   The authors have attempted to provide
  284. as  much reference material as possible for MSGTOSS,  hopefully avoiding as
  285. many  questions as possible for new users.   If you are one of those people
  286. who  will blindly try to install MSGTOSS without reading the  documentation
  287. first, you are in for a surprise.
  288.  
  289. Jan Maaskant (1:387/255 & 8:931/1) invented the term "mail tosser shock" to
  290. describe  the anticipated reaction of new users of MSGTOSS 2.0,  especially
  291. after  running version 1.3.   Reading the provided documentation as much as
  292. possible will help alleviate the symptoms of mail tosser shock.
  293.  
  294.  
  295.                                   PURPOSE
  296.                                   -------
  297.  
  298. MSGTOSS is a high performance tosser/scanner for RBBS systems.  It  was de-
  299. signed  to  allow RBBS-PC sysops to  import and export  Fidonet  compatible
  300. Echomail  or Netmail into RBBS-PC   message bases (or Fido-style sub-direc-
  301. tories),  in a fast and efficient  manner.  In addition,  MSGTOSS is highly
  302. zone/domain aware,  using its own proprietary nodelist for packet identifi-
  303. cation.
  304.  
  305. MSGTOSS imports messages directly from Fidonet compatible message   packets
  306. (*.PKT  files)  into RBBS message bases.   This  direct  importing  feature
  307. makes  tossing  of  messages  extremely  fast.   It  has the capability  to
  308. toss  mail  simultaneously  to RBBS message  bases,  FIDO  sub-directories,
  309. passthru to downstream nodes and points, all in one clean sweep. These fea-
  310. tures  allows  MSGTOSS to be ideal  for  a   HUB situation,  as well  as  a
  311. static node, where all mail can be processed in  one sweep.
  312.  
  313.  
  314. NON RBBS-PC INSTALLATIONS
  315. -------------------------
  316. Although MSGTOSS is designed exclusively for RBBS, MSGTOSS can also be con-
  317. figured to be run in a non-RBBS system (only support #.MSG messages).   For
  318. specific details on this,  see INSTALLATION section , "If you are not  run-
  319. ning RBBS-PC".
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.                                    Page - 5
  327.  
  328.  
  329.  
  330.  
  331.  
  332.                              MSGTOSS Version 2.0
  333.  
  334.  
  335.                                     FEATURES
  336.                                     --------
  337.  
  338.     Here is a high-level summary of MSGTOSS 2.0 features:
  339.  
  340.      1) - Domain and zone aware.
  341.  
  342.      2) - Tosses and scans from both RBBS and Fido message areas.
  343.  
  344.      3) - Feeds to downstream nodes simultaneously with tossing.
  345.  
  346.      4) - Can be run in a non-RBBS environment (#.MSG format only).
  347.  
  348.      5) - Purges and renumbers RBBS message bases as required.
  349.  
  350.      6) - Maintains RBBS user file Last Message Read pointers.
  351.  
  352.      7) - Maintains its own high water mark to speed up scanning.
  353.  
  354.      8) - Handles selective message and file forwarding.
  355.  
  356.      9) - Handles up to 200 unique nodes in the *.bbs file.
  357.  
  358.     10) - Compatible with AreaFix, QMail, Ommm, etc.
  359.  
  360.     11) - Tosses to RBBS directly from *.PKT files.
  361.  
  362.     12) - Scans directly from RBBS to *.OUT files.
  363.  
  364.     13) - Supports Binkley-Term's outbound area naming for domains.
  365.  
  366.     14) - 25% faster M.DEF & 30% faster Fido tossing from old version.
  367.  
  368.     15) - 200% faster internal purging (over MSGTOSS 1.0)
  369.  
  370.     16) - Improved the MSGTOSS help program. "MSGHELP.EXE <rtn>".
  371.  
  372.     17) - Support to toss from #.MSG format into M.DEF format.
  373.  
  374.     18) - Ability to SCAN individually #.MSG or M.DEF, or both.
  375.  
  376.     19) - Ability to re-scan message bases (for hubbing) to new nodes.
  377.  
  378.     20) - INDIVIDUAL conference configuration of....
  379.  
  380.             a) Whether to re-number message bases
  381.             b) When to re-number message bases (threshold setting)
  382.             c) Security level of each message base can be different
  383.             d) Auto-Breaks large messages into smaller, multiple messages
  384.             e) Right margin of messages
  385.             f) Whether to support "private" echomail.
  386.             g) Whether to strip echo control lines (PATH, SEEN-BY, etc.)
  387.             h) Whether to divert messages that contain selected text
  388.             i) Whether to provide duplicate checking services
  389.             j) Whether to set the mailwaiting bits.
  390.             k) Unique Origin lines.
  391.  
  392.                                    Page - 6
  393.  
  394.  
  395.  
  396.  
  397.  
  398.                              MSGTOSS Version 2.0
  399.  
  400.  
  401.             l) Whether to prevent purging of user messages for XX days
  402.             m) Whether to force messages tossed as "already scanned"
  403.             n) Whether to archive purged messages (HISTORY FILE)
  404.  
  405.     21) - NETBIOS,  DESQVIEW,  PC-NET & 10-NET record/file locking.  Allows
  406.           safe tossing, scanning & purging while users are on-line.
  407.  
  408.     22) - Supports OPUS-Style (date-written & arrived) date stamps
  409.  
  410.     23) - Supports "capturing" of messages that contain selected text.
  411.  
  412.     24) - MSGTOSS  "metacommands".  Allows  a single command line  word  to
  413.           mean a pre-defined sequence of commands.
  414.  
  415.     25) - GLOBAL   maintenance  features.   Allows  MSGTOSS  to  create   a
  416.           batch file or execute a command for ALL message bases.
  417.  
  418.     26) - Selectively Kill all netmail or routed mail.
  419.  
  420.     27) - A new "MSGTOSS /TEST" command to validate system set-up.
  421.  
  422.     28) - Allows multiple incoming files directories.
  423.  
  424.     29) - Allows  MSGTOSS to become a "user"  on the system while  tossing.
  425.           Anyone entering [W]ho will see MSGTOSS execution status.
  426.  
  427.     30) - Full "point" support, with built-in remapping.
  428.  
  429.     31) - Positively  identify the DOMAIN & ZONE of receiving mail packets,
  430.           even if PKTS were created by a "zone-dumb" packer.
  431.  
  432.     32) - Allows  Intelligent individual MAIL & FILE Routing  capabilities,
  433.           with  ability  to "authorize"  certain  ZONE/NET/NODES  (commence
  434.           routing) at the same time "lock-out" certain ZONE/NET/NODES (deny
  435.           routing).
  436.  
  437.     33) - Ability to identify the sending nodes packer by name.
  438.  
  439.     34) - Ability to "link" multiple AREAS.BBS files.
  440.  
  441.     35) - Ability to import and export, unlimited size messages.
  442.  
  443.     36) - Ability to "mirror scan"  messages,  where if you have DUAL areas
  444.           (both RBBS format and Fido format),  MSGTOSS will create a carbon
  445.           copy of a message entered in Fido format to RBBS format, and vice
  446.           versa.
  447.  
  448.     37) - Supports Qmail-Style "PASSTHRU" areas for HUB support
  449.  
  450.     38) - Does NOT fragment RBBS message bases!
  451.  
  452.     39) - Maintains a "history" file of purged messages.
  453.  
  454.     40) - Option of killing null messages (maintains log file)
  455.  
  456.     41) - Overall more reliable operation, with all 1.3 bugs swatted.
  457.  
  458.                                    Page - 7
  459.  
  460.  
  461.  
  462.  
  463.  
  464.                              MSGTOSS Version 2.0
  465.  
  466.  
  467.                               SPEED OF MSGTOSS
  468.                               ----------------
  469.  
  470. This  is a relative comparison,  but MSGTOSS will toss messages into   RBBS
  471. message  bases  directly from *.PKT file at a rate of  approximately    404
  472. messages  per  minute (no duplicate checking).  This is based on an 12  mhz
  473. IBM AT clone with a 300K disk cache.   Actual speed will vary considerably.
  474. Users  with high performance 386 machines have reported tossing  throughput
  475. of  over 1000 messages per minute.  One off the  great assets of MSGTOSS is
  476. the  practicality of carrying hundreds of echo's  on a single RBBS  system,
  477. where speed of importing (prior to MSGTOSS) was prohibitive.
  478.  
  479. Speed  is also affected whether MSGTOSS is feeding (/FEED) downstream nodes
  480. or  points.   When  /TOSS /FEED is active,  tossing speed is  significantly
  481. slower as MSGTOSS needs to process SEEN-BY lines,  where normally it is not
  482. required.
  483.  
  484.  
  485.                         WHAT MSGTOSS WON'T DO (YET)
  486.                         ---------------------------
  487.  
  488. Currently, MSGTOSS does NOT provide PACKING of mail packets (*.OUT  files).
  489. To  accomplish  this you will need  either  OMMM  (version   1.52+   recom-
  490. mended),  QMAIL  (just its pack function) or MAKEARC (for file-attach mail-
  491. ers, such as Frontdoor).
  492.  
  493. Aside from the packer,  MSGTOSS is the only utility that would be  required
  494. for most node configurations.
  495.  
  496. MSGTOSS  will  create  *.OUT files after either a scanning run  (/SCAN)  or
  497. during  a tossing run (/TOSS) with the /FEED switch.   The packing of these
  498. files   (along  with scanning of Fido NETMAIL directories) need to   accom-
  499. plished via  the above mentioned utilities.
  500.  
  501. NOTE: MSGTOSS  does NOT scan NETMAIL directories.   The above packers  will
  502.       accomplish this.
  503.  
  504. NOTE: It  should  be noted that complete  packing  features  are  in   the-
  505.       planning/coding  phases,   and  will  be  implemented  in  future re-
  506.       leases of MSGTOSS.
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.                                    Page - 8
  525.  
  526.  
  527.  
  528.  
  529.  
  530.                              MSGTOSS Version 2.0
  531.  
  532.  
  533.  
  534.                                   CREDITS
  535.                                   -------
  536.  
  537. Credit  is  due to Tom Mack,  Jon Martin and Ken Goosans for  creating  and
  538. maintaining RBBS-PC.  RBBS-PC still sets the standard.   Credit is also due
  539. to Dan Thomson,  Andrew Farmer & Jeff Nonken (authors of SPAZ), who granted
  540. myself  permission  to distribute SPAZ (un-altered) within the MSGTOSS  ar-
  541. chive. Credit is due to Warren Muldrow (co-author of MSGTOSS), who warrants
  542. his own paragraph.   All of these folks (in  their own way), enhanced RBBS-
  543. PC in some manner or fashion.
  544.  
  545.  
  546.                            ORIGINAL BETA TESTERS
  547.                            ---------------------
  548.  
  549. To  those original MSGTOSS beta testers,  who blindingly exposed their pre-
  550. cious  RBBS message bases to the early attempts of MSGTOSS;  Greg Popovich,
  551. Gray  Shockley,  Mark Annis, Vaishnava Dasa, Tim Jacobs, Jan Maaskant,  Na-
  552. than  Barber,  Richard Couture & Stan Staten  ....thank you.  In  addition,
  553. these  people spent their own $$$ sending me crashed *.PKT files  for me to
  554. analyze  and create fixes for,  calling me voice,  and picking up  new beta
  555. versions.  Apologizes to any of those I have left out by mistake.
  556.  
  557.  
  558.                                WARREN MULDROW
  559.                                --------------
  560.  
  561. Although not responsible for the initial design and conception of  MSGTOSS,
  562. Warren  (who is now a co-author of MSGTOSS) has contributed extensively  to
  563. MSGTOSS  as  it is today.  His coding expertise (20+ years experience)  has
  564. been  proven in many ways by being able to plow through the  MSGTOSS source
  565. code (Zakharoff style) and make MAJOR modifications and  improvements.
  566.  
  567. With his innovative spirit, MSGTOSS will continue to evolve in such a  man-
  568. ner which will set the standard for not just RBBS-PC systems, but all  mail
  569. tossers today.  Warren is now the primary focalpoint for  MSGTOSS.
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.                                    Page - 9
  591.  
  592.  
  593.  
  594.  
  595.  
  596.                              MSGTOSS Version 2.0
  597.  
  598.  
  599.  
  600.                                 REQUIREMENTS
  601.                                 ------------
  602.  
  603. MSGTOSS  requires a minimum of around 400K for basic static node operation.
  604. For  hub work where shelling to a packer is required (along with its  shel-
  605. ling to an archive utility), around 520K or so is required.
  606.  
  607. MSGTOSS was developed on an 12 mhz 286 AT clone,  with 640K of ram.   It is
  608. written  completely  in Quickbasic Version 3.0,  with ASM routines for  se-
  609. lected routines.  It is in the process of being written in Bascom 7.0 which
  610. will allow more capabilities.
  611.  
  612. This document assumes that you have at least the following:
  613.  
  614.      1) An operating RBBS bulletin board
  615.  
  616.      2) Connected to Fidonet or RBBS-NET with a node number
  617.  
  618.      3) Receiving mail packets daily
  619.  
  620.      4) A front end mailer (Binkley, SeaDog, FrontDoor)
  621.  
  622. It is not in the scope of this document to teach you technical  details re-
  623. garding operation and theory of how  Fidonet   works.  This document should
  624. help  you get rolling along using  the supplied sample files.  It is recom-
  625. mended  that  you  obtain   documentation to help you  understand  how  the
  626. exporting/importing of mail works.  The CONFMAIL  documentation provides an
  627. excellent  reference on this.  A helping hand of another RBBS  sysop is the
  628. *best* way to get started.
  629.  
  630. This  document  can be  VERY confusing.  I suggest the first time  user  of
  631. MSGTOSS skip all the theory and go right to the INSTALLATION Chapter, using
  632. the  supplied MSGCFG.DOC,  MSGBBS.DOC and MSGSWI.DOC constantly during  the
  633. setup.
  634.  
  635. MSGTOSS has its own dedicated echo called "RBBS_MSGTOSS",  available on the
  636. Rbbs-Net backbone.   Another source could be the "RBBS-PC" echo,  available
  637. on both the Rbbs-Net and Fidonet backbones.   The authors are available for
  638. consultation,  although we prefer you thoroughly exhaust all sources of in-
  639. formation  first.   The reason for the extensive documentation is to  avoid
  640. basic  questions,  easily answered on the first few pages of documentation.
  641. Most  of the beta testers will be happy to provide assistance,  or maybe  a
  642. call  from a local RBBS SYSOP may guide you in  the right direction to  re-
  643. ceiving the right information.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.                                   Page - 10
  657.  
  658.  
  659.  
  660.  
  661.  
  662.                              MSGTOSS Version 2.0
  663.  
  664.  
  665.                                MSGTOSS THEORY
  666.                                --------------
  667.  
  668. MSGTOSS  is a comprehensive mail processor for RBBS systems.  As a   conse-
  669. quence,  there  are currently 42 command line switches or options,  over 46
  670. MSGTOSS.CFG configuration parameters and 19 MSGTOSS.BBS  keywords  that all
  671. interrelate with one another.  To see how this all fits together,  you will
  672. need  to read the corresponding reference manual for each area.
  673.  
  674. MSGSWI.DOC  contains  reference  material  for  all  MSGTOSS  command  line
  675. switches.  MSGCFG.DOC   contains reference material for MSGTOSS  parameters
  676. associated  with   MSGTOSS.CFG (configuration  file).  And MSGBBS.DOC is  a
  677. reference  manual  for all if the MSGTOSS keywords used in the  MSGTOSS.BBS
  678. file.   Each  of these aspects should be understood prior to attempting  to
  679. configure MSGTOSS.
  680.  
  681. This  tremendous  number of interrelated system configuration items  demon-
  682. strates   the  amount  of flexibility  built into MSGTOSS.  I claim MSGTOSS
  683. to  be the most advanced  Fidonet tosser  in the world (and most  certainly
  684. for RBBS).  You should be able to utilize  its power to fully automate your
  685. echomail process. 
  686.  
  687.  
  688. In  addition to processing mail,  it has other non-tossing utilities  built
  689. -in.  Because  of this,  there are TEN MAJOR command line switches,   which
  690. tell MSGTOSS what major operation is being requested. When a major  command
  691. line switch is issued, any other switches not related  to the major  opera-
  692. tion  are  simply ignored.   You  cannot  issue  TWO  major  command   line
  693. switches  simultaneously.  For explanation and the use of the switches  use
  694. the reference manual MSGSWI.DOC.
  695.  
  696. SYNTAX:   MSGTOSS  [/SWITCH] [/OPTIONS...] 
  697.  
  698. The TEN major command line switches...
  699.  
  700.          1) Toss RBBS, FIDO & NETMAIL messages -------> /TOSS
  701.          2) Scan (export) new locally entered mail ---> /SCAN
  702.          3) SIZE message bases to preset RECS:xxx ----> /SIZE
  703.          4) Reset users Mailwaiting Bit (all msgs) ---> /MWRST
  704.          5) Report on message base statistics --------> /STAT
  705.          6) Test MsgToss Setup Configuration ---------> /TEST
  706.          7) Wait for users, create MSGWAIT.BAT file --> /WAIT
  707.          8) Globally execute xxx for all msg bases ---> /GLOB:xxx
  708.          9) Recompile the node list (MSGTOSS.NOD) ----> /NLST
  709.         10) Execute MSGEID.EXE - EID Datamase Maint --> /EID
  710.         12) MSGTOSS.CMD metacommands - (no slashes) --> xxx
  711.         12) MSGTOSS.BBS Tossing Configuring Keywords -> xxx
  712.         13) MSGTOSS DOS ErrorLevel Codes -------------> Errorlevels
  713.  
  714. NOTE: Executing  MSGTOSS<rtn> at the DOS prompt will produce a similar dis-
  715.       play. You can then enter the number of the major command line switch,
  716.       then  all related switches are displayed along with a description and
  717.       purpose.
  718.  
  719.  
  720.  
  721.  
  722.                                   Page - 11
  723.  
  724.  
  725.  
  726.  
  727.  
  728.                              MSGTOSS Version 2.0
  729.  
  730.  
  731.                                     TOSS
  732.                                     ----
  733.  
  734. The  /TOSS command switch is for tossing Fidonet compatible message packets
  735. (*.PKT)   into your RBBS  message bases (M.DEF) or into a DOS directory (as
  736. a FIDO #.MSG).  The /TOSS option has 28  switches.  TOSS signals MSGTOSS to
  737. start a carefully planned sequence, used  more often than any other switch.
  738. There are 8 phases to the TOSSING of  messages:
  739.  
  740.          1) Un-Pack mail packets
  741.          2) Identify domain/zone/net/node of *.PKT files
  742.          3) Analyze *.PKT files
  743.          4) Purge/expand RBBS message bases as required
  744.          5) Toss messages (RBBS message bases or Fido)
  745.          6) Set the mailwaiting bit for conference users
  746.          7) Create a MSGTOSS.LOG file for message base activity
  747.          8) Create miscellaneous BAT/CMD/CTL files for other maintenance.
  748.  
  749.  
  750.                            PHASES OF TOSSING MAIL
  751.                            ----------------------
  752.  
  753. UN-ARCH MAIL PACKETS
  754. --------------------
  755.  
  756. Incoming  mail packets are received by your respective front-end  mailer as
  757. either archived (*.MO*, *.TU*, etc.) or as a regular *.PKT file.
  758.  
  759. SPAZ  (supplied  within the MSGTOSS distribution archive) will detect  what
  760. type of archive it is and unpack it into  one of  the directories specified
  761. by  the  multiple  FILES------->  entries.   You will  have to provide  the
  762. correct  SPAZ command (or other unpacker) in your batch  file.   Its syntax
  763. is:
  764.  
  765.                    SPAZ [In Directory] [Out Directory]
  766.  
  767. NOTE: For optimum capability,  it is recommended that the FIRST FILES----->
  768.       entry  in your MSGTOSS.CFG be the incoming files directory.  This  is
  769.       the directory where all files (via your front-end mail) go first. The
  770.       reason  for  this  is that during FILE  ROUTING  (explained  further)
  771.       MSGTOSS  will  assume the first FILES-------> entry as  where  routed
  772.       files go.
  773.  
  774. NOTE: It  should  also be noted that you can substitute SPAZ or  any  other
  775.       type  of  un-packing utility (such as GUS or POLYXARC) if  you  don't
  776.       want to use SPAZ. The only critical thing to remember is that MSGTOSS
  777.       will only look in your FILES--------> directories for *.PKTS, so  you
  778.       have to make sure that after executing the un-packer,  the *.PKTS are
  779.       found my MSGTOSS.
  780.  
  781. You  may have several different directories your mail is coming into  (Mul-
  782. ti-Node Systems).  Using the FILES-------> in the MSGTOSS.CFG file, you can
  783. specify where these directories are.
  784.  
  785.  
  786.  
  787.  
  788.                                   Page - 12
  789.  
  790.  
  791.  
  792.  
  793.  
  794.                              MSGTOSS Version 2.0
  795.  
  796.  
  797. PACKET IDENTIFICATION
  798. ---------------------
  799.  
  800. MSGTOSS  goes  through  extensive  packet  identification  routines    that
  801. reliably identify the source DOMAIN,  ZONE, NET & NODE and  PACKER   of the
  802. PKT  file.   This  is  accomplished   by  a   proprietary   nodelist   that
  803. MSGTOSS  creates  during your  weekly  nodelist  processing   batch   file.
  804. Whenever  the  source of the PKT  is  unknown  or  MSGTOSS   doesn't   have
  805. enough information, MSGTOSS will look up the information regarding  the PKT
  806. in its own nodelist.   The name of this  nodelist  is  "MSGTOSS.NOD" and is
  807. created  automatically when you execute MSGNLST.EXE  or MSGTOSS /NLST.  For
  808. more information, see INSTALLATION section and MSGSWI.DOC.
  809.  
  810. The reason for having a proprietary nodelist is to ensure compatibility be-
  811. tween different mailer systems, and to ensure the authors of  MSGTOSS  have
  812. control over the format required.
  813.  
  814. In  addition,  MSGTOSS looks up the  name  of  the  packer  (i.e.    Qmail,
  815. Rbbsmail, Confmail) in accordance with the product code that is  present in
  816. all  legitimate  packers.   It  gets this information in a   file    called
  817. "MSGTOSS.PCD" (Product Code). Using this combination of nodelist and  prod-
  818. uct  code  files,  MSGTOSS  is  able  to  determine many things. Lets  take
  819. the packet: 50455040.PKT. Msgtoss looks at the header information and  sees
  820. this.
  821.  
  822. NOTE: Frequently, the Software Distribution System (SDS) distributes a file
  823.       called "FTSCPROD.xxx", which is an updated list of MSGTOSS.PCD.  When
  824.       you  obtain  an  updated product code  listing,  rename  it,  keeping
  825.       MSGTOSS.PCD up-to-date.
  826.  
  827. 50455040.PKT To:@1:387/255@fidonet Fm:@1:387/5@fidonet 1A D'Bridge 1.0
  828.  
  829. It includes the original domain & zone, destination domain & zone, as  well
  830. as  the  source  packer.   All   of   this information  is  logged  in  the
  831. MSGTOSS.LOG file.  If MSGTOSS is truly confused regarding the source/desti-
  832. nation  of a  PKT file,  MSGTOSS  will  default  to  the   FIRST  (primary)
  833. NODE-------> entry (in the CFG file) regarding DOMAIN & ZONE.
  834.  
  835.  
  836. ANALYZE PKT FILES
  837. -----------------
  838.  
  839. MSGTOSS will then read the contents of each *.PKT and create  a correspond-
  840. ing  *.IDX  file  for  each  packet.   If  the  packet  is  11112222.PKT it
  841. will  create a file called 11112222.IDX  which  contains  information about
  842. each message in each of the packets.   This  occurring  should be transpar-
  843. ent to the user, as MSGTOSS will  create  and  delete  these *.IDX files as
  844. required.   This analysis phase is critical,  as  MSGTOSS needs to know ex-
  845. actly  how  much space is required to import  new   messages.   If  MSGTOSS
  846. finds an existing *.IDX file, it will re-analyze it, vice the *.PKT.
  847.  
  848. NOTE: MSGTOSS  will create these *.IDX files in the  same  directory  where
  849.       its corresponding *.PKT file is located. For those fortunate to  have
  850.       huge RAM disks,  make sure  the  maximum  directory entries  can han-
  851.       dle  all these *.IDX files being created.  For instance,  it is   not
  852.       uncommon for a hub to process 150 *.PKT files at a time. MSGTOSS will
  853.  
  854.                                   Page - 13
  855.  
  856.  
  857.  
  858.  
  859.  
  860.                              MSGTOSS Version 2.0
  861.  
  862.       create  a *.IDX file for each of these,  so 300 files will eventually
  863.       end up after analysis. If your directory maximum is 256... problems.
  864.  
  865. During  the analyzing phase,   MSGTOSS  also  determines  what    NET/NODES
  866. that  are  listed in your MSGTOSS.BBS file haven't seen the  message,   and
  867. creates  a IDX entry so later  (during  the  toss)    MSGTOSS already knows
  868. who needs to be sent the message,   without   loading   the entire  message
  869. into  memory.    Because  of  this,   MSGTOSS   has   no  theoretical limit
  870. on message size.   This is significant,  as most other  mail tossers in the
  871. Fidonet community have   substantial  limits  (most are  around 16K) on the
  872. message sizes that  it can handle.
  873.  
  874.  
  875. NULL MESSAGES
  876. -------------
  877.  
  878. If  a  message is determined to contain only a valid header,  and  no  text
  879. within the body of the message,  MSGTOSS will selectively kill the message.
  880. Messages like this turn out to be a nuisance, as some mailers send null fi-
  881. le-attach messages to send regular *.PKT files.  MSGTOSS will detect a null
  882. message,  kill  it,  and log its occurance into a file called  MSGTOSS.NUL.
  883. This is selected via the KILLNULL---> parameter.   Setting to 'Y'  will en-
  884. able this feature.
  885.  
  886.  
  887. PURGE/EXPAND MESSAGE BASES
  888. --------------------------
  889.  
  890. After  the analyzing phase,  MSGTOSS then knows how much  space  will    be
  891. required  to  successfully import the messages contained in each   of   the
  892. *.PKT  files  received.  It will then either PURGE the  message  bases   or
  893. EXPAND (or both) prior to tossing. If you specified  the /PREP switch (pre-
  894. purge), MSGTOSS will first load all of the USERS in a particular conference
  895. in memory (see NOTE:), and will commence to  purge  non-user messages. This
  896. is accomplished via a 'pack-in-place'  method,  where  the messages flagged
  897. to  keep will be 'shuffled'  to  the  beginning  of  the RBBS message base,
  898. as  others are being deleted.   This pack-in-place method avoids fragmenta-
  899. tion  of the message bases.   Only if a message base is expanded will frag-
  900. mentation occur.
  901.  
  902. NOTE: The BBS keyword "USRH:1" directs MSGTOSS whether to load  all  of the
  903.       users into memory prior to purging. For very large message bases with
  904.       alot of users, the purging speed can be dramatically increased by us-
  905.       ing  the "USR:0"  BBS keyword,  as hashing users will no take  place.
  906.       However, loading the users have alot of benefits (read on).
  907.  
  908. NOTE: MSGTOSS  will purge ONLY ENOUGH messages for successful  importation.
  909.       Therefore,  if only 2-3 messages are received in a particular confer-
  910.       ence, then roughly the same amount will be purged (if there isn't en-
  911.       ough space to begin with).
  912.  
  913. NOTE: MSGTOSS can handle roughly 1500 users in memory at any one  time.  If
  914.       MSGTOSS  detects that it is running out of memory as users  are being
  915.       loaded, it  will  stop  loading  in  memory  and  page  the remaining
  916.       users to disk.  This causes the purging to  be  slower (but more com-
  917.       plete).  For  optimum  operation,  try  to  keep the  sizes  of  your
  918.       conference  users  under  1500 or  use the USRH:0 BBS  keyword  where
  919.  
  920.                                   Page - 14
  921.  
  922.  
  923.  
  924.  
  925.  
  926.                              MSGTOSS Version 2.0
  927.  
  928.       appropriate.
  929.  
  930.       Using  the  "USRH:1"  BBS  keyword will prevent messages  from  being
  931.       purged  before  the sysop or conference users have had a  chance   to
  932.       read   them.  MSGTOSS will make sure these messages are  not  purged,
  933.       with  the   following exceptions.
  934.  
  935. NOTE: If  using  the "HIST:1"  BBS keyword,  whenever a message is  purged,
  936.       MSGTOSS will export,  in text format,  the message into a *.HIS file.
  937.       If  the message base being purged is RBBSM.DEF,  and HIST:1 is  true,
  938.       MSGTOSS will export all purged messages into a file called RBBSM.HIS.
  939.  
  940.      SYSOP MESSAGES
  941.      --------------
  942.      Incomming  messages  will always be checked to see if they  match  the
  943.      multiple SYSNAMES----> entries, regardless if the "USRH:0" BBS keyword
  944.      (don't hash  users) is active (Fidonet is mostly for SYSOPS,  right?).
  945.      For  SYSOP messages (messages where to/from = SYSNAMES---->) during  a
  946.      purging operation, the following rules apply:
  947.  
  948.           1) If the message is already killed, purge it.
  949.  
  950.           2) If the message has already been read (and  the  DELREADSYS
  951.              is set to 'YES', purge it.
  952.  
  953.           3) If the message is TO the SYSOP, and the message  is  OLDER
  954.              than XX days as specified in the DAYSTOSYS parameter, then
  955.              purge it.
  956.  
  957.           4) If the message is FROM  the  SYSOP,  and  the  message  is
  958.              OLDER than XX days as specified in the DAYSFRSYS parameter,
  959.              then purge it.
  960.  
  961.           5) Otherwise leave it alone!
  962.  
  963.  
  964.      USER MESSAGES
  965.      -------------
  966.      Same as above for the SYSOP, except:
  967.  
  968.           1) The BBS keyword "USR:1" must be active (means MSGTOSS
  969.              will load all conference users into memory).
  970.  
  971.           2) The associated CFG parameters are DELREADUSR, DAYSTOUSR  &
  972.              DAYSFRUSR, respectively.
  973.  
  974. NOTE: If  you  decide  to NOT load the users into memory  via  BBS  keyword
  975.       "USRH:0",  then users messages may be deleted before the user has had
  976.       a chance to read them.  However, if the user is a regular caller, and
  977.       you  keep your message bases large,  a newly entered message may take
  978.       some  time to recycle through multiple purging sessions,  so the user
  979.       may  have  a chance to  read them.  If you keep small  message  bases
  980.       (mine are only 900 records) then definitely use the "USRH:1" BBS key-
  981.       word.
  982.  
  983.  
  984.      USER/SYSOP SUMMARY
  985.  
  986.                                   Page - 15
  987.  
  988.  
  989.  
  990.  
  991.  
  992.                              MSGTOSS Version 2.0
  993.  
  994.      ------------------
  995.      This 'smart purging'  is an important concept for MSGTOSS, as messages
  996.      left  TO/FROM the users (and the sysop) of the conference WILL NOT  be
  997.      deleted  until they are either killed or their time limit has run  out
  998.      (as specified by the various DAYSTO???/DAYSFR???  parameters).
  999.  
  1000.      If  after the 'pack-in-place'  purging there is still not enough space
  1001.      to import all of those messages, MSGTOSS will EXPAND the message  base
  1002.      as  it sees fit to allow successful importation. MSGTOSS expanding the
  1003.      message  base is not a big deal.  In fact it sometimes necessary when,
  1004.      for instance,   your HUB has been shut down for a couple of days,  and
  1005.      you  are  suddenly   flooded with messages.  Because  MSGTOSS  doesn't
  1006.      think twice about expanding     when it needs it, built-in 'smart siz-
  1007.      ing'  code  is built into MSGTOSS to  easily maintain tight control on
  1008.      the sizes of the message bases. In fact,  these built-in utilities are
  1009.      superior to RBBS-PC CONFIG utility. After  MSGTOSS is initially set up
  1010.      properly,  adding  a simple line to your daily  maintenance batch file
  1011.      "MSGTOSS /SIZE"  will chop the message bases back  down to a predeter-
  1012.      mined  level  in one swipe.  So again,  if MSGTOSS expands a   message
  1013.      base,  that one command will cleanly and easily return it back to  its
  1014.      original  size,   using  smart purging techniques.  Remember,  MSGTOSS
  1015.      will   ONLY expand a message base if it absolutely needs to.  If after
  1016.      the  built-in    purging there's STILL not enough messages,  then  and
  1017.      only then will it  expand message bases.
  1018.  
  1019.      If  you  specified the /PREX (pre-expand) switch,  then MSGTOSS   will
  1020.      simply  EXPAND the message base as it sees fit and continue on.  At  a
  1021.      later   time (say at a night event) to can CHOP the message bases back
  1022.      down   to   their  original  size by issuing  the  /SIZE  or  /SIZE-UP
  1023.      switches.  If  you  add   the switch /FIX to the  command  line,  then
  1024.      MSGTOSS  will  automatically SHELL  to FIXMSG if it detects a  corrupt
  1025.      message file while doing the purge. It  will execute FIXMSG twice, and
  1026.      if it still fails to correct the problem  MSGTOSS will simply abort.
  1027.  
  1028.      If  you  use the switch /FIXC switch (instead),  MSGTOSS will  do  the
  1029.      same as above,  but will copy the BLANK message base (model) as speci-
  1030.      fied    by  the BLANKMSG---> parameter over the corrupt message  base,
  1031.      and rename it   to *.BAD. This prevents MSGTOSS from aborting due to a
  1032.      corrupt  message  base.
  1033.  
  1034.  
  1035.      MESSAGE RENUMBERING
  1036.      -------------------
  1037.      MSGTOSS will renumber the message bases AS they are being purged.  The
  1038.      renumbering will be in accordance with the "RNST:xx" and "RNIF:xx" BBS
  1039.      keywords.  The "RNST:xx" tell MSGTOSS what number the newly renumbered
  1040.      messages   should start with.  IE:You like all message bases to  start
  1041.      with 1000+, you  enter "RNST:1000" as a BBS keyword. The "RNIF:xx" BBS
  1042.      keyword will tell  MSGTOSS to renumber,  but  ONLY IF the last message
  1043.      (prior to a  purge)  is  greater  than/equal  to "RNIF:xxx".
  1044.  
  1045.      In  addition,  MSGTOSS   will  (upon  finishing  purging)  reset   the
  1046.      "last  message  read"  flag  (in  the associated  USER  file)  to  the
  1047.      new/next  closest message number, so last-read flags are not lost.
  1048.  
  1049.  
  1050.      PURGING WHILE USERS ARE ON-LINE
  1051.  
  1052.                                   Page - 16
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.                              MSGTOSS Version 2.0
  1059.  
  1060.      -------------------------------
  1061.      MSGTOSS  adheres  to  standard file/record locking protocols  used  by
  1062.      RBBS-PC  when  tossing/purging/sizing message bases.   For a more  de-
  1063.      tailed  description of this,  and its effect on users who happen to be
  1064.      on-line, see section on MULTITASKING/NETWORK SUPPORT. 
  1065.  
  1066.  
  1067. TOSSING INTO RBBS & FIDO FORMAT
  1068. -------------------------------
  1069.  
  1070. After  the  RBBS message bases were prepared for the new message   (purged,
  1071. expanded,  etc.), they are now ready to receive new messages.  MSGTOSS will
  1072. toss  each of the messages contained in *.PKT files to  either an RBBS mes-
  1073. sage file,  a sub-directory in Fido Message form,  a  *.OUT file for either
  1074. PASSTHRU areas for downstream nodes, or all three.
  1075.  
  1076.  
  1077.      FILE & RECORD LOCKING
  1078.      ---------------------
  1079.      MSGTOSS  adheres  to standard file/record locking protocols   used  by
  1080.      RBBS-PC  when tossing/purging/sizing message bases.  To use this  fea-
  1081.      ture,  use   the /LOCK command line switch.   For a more detailed  de-
  1082.      scription  of this  feature,  see the section in the MSGSWI.DOC.  Also
  1083.      see /MUSER:x command line switch, and MULTITASKING/NETWORK SUPPORT.
  1084.  
  1085.  
  1086.      DUPLICATE MESSAGES
  1087.      ------------------
  1088.      MSGTOSS  handles  duplicate  checking alot different than  other  mail
  1089.      processors.  It  creates  and  maintains  a  duplicate  database  file
  1090.      called   MSGTOSS.EID.  This file is a random access file that contains
  1091.      all of the  EID:,  MSGID:, and MSGTOSS generated ID codes for the last
  1092.      XXXX  messages,  as  specified by your DUPSIZE parameter,  for all  of
  1093.      your  conferences.  The  reason for the single database-type format is
  1094.      simple, opening and closing   files  takes  time,  and  having  a sin-
  1095.      gle file that is opened all the time  will make  it  faster.  
  1096.  
  1097.      The  CDUP:x  keyword allows individual conference configuration as  to
  1098.      whether you want DUP checking to apply for a particular conferences.
  1099.  
  1100.      NOTE: The  supplied  MSGTOSS utility (MSGEID.EXE) provides a means  of
  1101.            modifying and maintaining the MSGTOSS.EID database.
  1102.  
  1103.      NOTE: When using the work directory switch (/WDIR), MSGTOSS will auto-
  1104.            matically copy the MSGTOSS.EID database file to the RAM disk (as
  1105.            specified by the WORKDIR---> parameter) prior tossing for faster
  1106.            operation.  After  tossing,  MSGTOSS will automatically copy  it
  1107.            back to preserve its data.
  1108.  
  1109.      MSGTOSS  will  check  for duplicates during the  tossing  phase  (must
  1110.      specify the CDUP:1 keyword), and if one is encountered, it will simply
  1111.      ignore  the message and display an informational line of the duplicate
  1112.      while tossing. If you specified the /DLOG (Maintain Dup Log File) then
  1113.      when a duplicate is encountered MSGTOSS will append the date, pkt, msg
  1114.      number,  area,  net/node  of originating system and the message header
  1115.      into a file called MSGTOSS.DUP. 
  1116.  
  1117.  
  1118.                                   Page - 17
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.                              MSGTOSS Version 2.0
  1125.  
  1126.      NOTE: The  areas  NETMAIL,   UNKNOWN,   ROUTETHRU  &  MSGCAPTURE   are
  1127.            exempt from dup checking.
  1128.  
  1129.  
  1130.      OVERSIZED MESSAGES
  1131.      ------------------
  1132.      There  is  no SIZE LIMIT of an imported message.  MSGTOSS will  import
  1133.      without  problems an entire BOOK  if  asked  to.   During  the   toss,
  1134.      however,  messages  that are known to be over-sized (over  the   limit
  1135.      specified  by   the KILLOVER parameter) will be simply  ignored.  This
  1136.      prevents  your  message  bases from being un-duly large due to  a  few
  1137.      large messages.   This  applies ONLY to RBBS message areas. If tossing
  1138.      to a Fido area, then the  whole message will be tossed.
  1139.  
  1140.  
  1141.      BAD DATE, MESSAGE HEADER
  1142.      ------------------------
  1143.      Messages  that are found to contain bad dates will be logged into  the
  1144.      MSGTOSS.ERR file,  but will be tossed  anyway.   MSGTOSS  does  a good
  1145.      job   interpreting the various forms of dates that show up in  a *.PKT
  1146.      file,   however, some it will  not  handle  (like  typos).   For these
  1147.      messages,   MSGTOSS  will convert the date to 'Todays  Date/Time'  for
  1148.      RBBS message bases.   If tossing as a Fido message,  it will leave the
  1149.      date intact (as it was).
  1150.  
  1151.      For  messages that have flaky message headers (grudged,  etc.) MSGTOSS
  1152.      will  just  ignore the message and log it into the  MSGTOSS.ERR  file,
  1153.      along  with the flaky header.
  1154.  
  1155.      MSGTOSS  does not bother tossing 'bad'  messages,  this just adds more
  1156.      work for the sysop. Instead, MSGTOSS will log the bad message into the
  1157.      MSGTOSS.ERR file, and it will tell you what went wrong.
  1158.  
  1159.  
  1160.      UNKNOWN MESSAGES
  1161.      ----------------
  1162.      Messages  that are found to contain an unknown AREA tag will be tossed
  1163.      into  the  Fido directory or RBBS message bases that is specified  for
  1164.      the  UNKNOWN area.  The UNKNOWN area is required,  but if you  specify
  1165.      the  '/KUNK'   (Kill Unknown) switch they will  be  ignored (deleted).
  1166.      Messages  marked as  UNKNOWN that are tossed will be tossed along with
  1167.      their  original AREA:xxxx  tag and are exempt from dup and size check-
  1168.      ing (even with the CDUP:1 keyword).
  1169.  
  1170.      NOTE: Assuming that a previously UNKNOWN  message  becomes  KNOWN, and
  1171.            the  area UNKNOWN is a Fido-Style area,  you can toss these mes-
  1172.            sages into RBBS format via the /TUNK (toss unknown) switch.  The
  1173.            most  likely  reason for a message to be unknown is  either  you
  1174.            forgot to put the new AREA:TAG in the MSGTOSS.BBS file or an im-
  1175.            proper link between node and host.
  1176.  
  1177.      The /TUNK switch is meant to be used only when necessary.   Placing it
  1178.      permanently on the /TOSS command line will greatly slow down the toss-
  1179.      ing  process.
  1180.  
  1181.  
  1182.      CAPTURING MESSAGES
  1183.  
  1184.                                   Page - 18
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.                              MSGTOSS Version 2.0
  1191.  
  1192.      ------------------
  1193.      MSGTOSS provides sysops with the ability to CENSOR messages in an  au-
  1194.      tomated  fashion.   This is accomplished via the BBS keyword CAPT:1 in
  1195.      conjunction with CAPTURE-----> configuration entries.  When  you enter
  1196.      a  'colorful metaphor'  in the CAPTURE CFG entry(s),  and  you config-
  1197.      ure a  conference as a captured conference (via  CAPT:1)  then MSGTOSS
  1198.      will  monitor the messages PRIOR  to  importing  and  divert them into
  1199.      a special area  called 'MSGCAPTURE'.  It is most useful that this area
  1200.      be  a Fido  Style   area.   If you specify an RBBS message base as the
  1201.      captured conference, then  moving them later is very difficult. 
  1202.  
  1203.      Assuming  MSGCAPTURE  is a Fido area,  you can then look at  them   an
  1204.      after  censorship  can then toss  these  messages  in   their   proper
  1205.      conference  via the '/TCAP'  (toss capture) command line switch.  This
  1206.      works in  exactly the same way as /TUNK (toss unknown) switch.
  1207.  
  1208.      NOTE: When  using  the /FEED switch,  captured messages will still  be
  1209.            exported to downstream nodes. A captured message is strictly LO-
  1210.            CAL in nature.
  1211.  
  1212.      Why  have  this feature?   If you don't want a bunch a swear words  on
  1213.      your  BBS  is one application.   Another may be that you belong to  50
  1214.      echoes,   and  you want all of YOUR personal messages captured so  you
  1215.      can  read/respond  prior to importing.   Is the use of  this   feature
  1216.      ethical?   Its up to  you.   Obviously abuses can occur via this  fea-
  1217.      ture.
  1218.  
  1219.      NOTE: Never CENSOR other peoples mail!   If you are a hub and use this
  1220.            feature  (inappropriately)  you  will suffer  the  consequences.
  1221.            That is NOT ethical.
  1222.  
  1223.  
  1224.      RIGHT MARGIN OF RBBS MESSAGES
  1225.      -----------------------------
  1226.      RBBS  messages are normally formatted to a right margin of 72.  If you
  1227.      set your MRGN:  keyword in your MSGTOSS.BBS file to say MRGN:77,  then
  1228.      the  imported messages may look more proper, as most BBS systems allow
  1229.      right  margins of 79.  Editing of these  messages  may  be more diffi-
  1230.      cult, because   RBBS expects messages to be 72.
  1231.  
  1232.  
  1233.      SECURITY LEVEL OF RBBS MESSAGES
  1234.      -------------------------------
  1235.      RBBS  has  the capability of setting a security level for  the  actual
  1236.      CONFERENCE,  and  for the messages within.   The ESEC:xxx BBS  keyword
  1237.      configures  what the security level of tossed messages are for a  par-
  1238.      ticular  conference.   For instance,  setting ESEC:5 as a BBS  keyword
  1239.      will  set all messages for which the BBS keyword applies to a security
  1240.      level of 5.
  1241.  
  1242.      NOTE: This  is a very important BBS keyword!  If you set ESEC:100  and
  1243.            all  users  (and the SYSOP) have security levels below  10  then
  1244.            even the SYSOP won't be able to read messages.
  1245.  
  1246.  
  1247.      PRIVATE RBBS MESSAGES
  1248.      ---------------------
  1249.  
  1250.                                   Page - 19
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.                              MSGTOSS Version 2.0
  1257.  
  1258.      RBBS-PC allows private messages to be entered in echo areas.   This is
  1259.      a good feature,  as some echoes are meant for that. However,  some sy-
  1260.      sops   prefer all incoming echomail to be  PUBLIC instead of  PRIVATE.
  1261.      The  BBS   keyword PRIV:x configures whether the private attribute  is
  1262.      honored  for   messages imported/exported.   For   instance,  you  set
  1263.      PRIV:1  (private  allowed) and a private message arrives for  a  user;
  1264.      MSGTOSS  will set the  message to be private ("*"  before the  message
  1265.      number),  otherwise, it will  be converted to public.  If a private is
  1266.      entered  then  MSGTOSS will set the  private attribute when  exporting
  1267.      the message to a *.OUT file.  
  1268.  
  1269.           PRIV:1 - Private message arrives, set as PRIVATE
  1270.                    Private message entered, exported as PRIVATE
  1271.  
  1272.           PRIV:0 - Private message arrives, set as PUBLIC
  1273.                    Private message entered, NOT-exported
  1274.  
  1275.      NOTE: For more information on this See /SCAN section.
  1276.  
  1277.  
  1278.      AUTO-BREAKING RBBS MESSAGES
  1279.      ---------------------------
  1280.      RBBS-PC has a limitation of 150 lines that will be displayed to a  us-
  1281.      er,  even  though the message is  much  longer.   For very large  mes-
  1282.      sages,   its  almost impossible to read the entire message,  much less
  1283.      respond  to it.    The BBS keyword MAXL:xxx allows you to tell MSGTOSS
  1284.      to auto-break a message  into multiple messages.  For instance, if you
  1285.      set  MAXL:100,  then  whenever  MSGTOSS encounters a message  that  is
  1286.      longer than 100 lines,  it will stop  importing,  create a new message
  1287.      with  the same header,  and finish the message.   As part of this pro-
  1288.      cess,  MSGTOSS  will append the following to the  end and beginning of
  1289.      these messages, respectively:
  1290.  
  1291.           MsgToss (Continued on NEXT message)
  1292.           MsgToss (Continued from LAST message)
  1293.  
  1294.      NOTE: If  you  decide to use RBBSMAIL (or any other type of RBBS  mail
  1295.            processor)  vice MSGTOSS to re-scan message bases (for HUB work)
  1296.            then set  MAXL:  very high (32000), as you don't want MSGTOSS to
  1297.            auto-break   messages.    If  you  exclusively  use  MSGTOSS  to
  1298.            scan/re-scan (as you should),  then no  problem, as MSGTOSS will
  1299.            attempt to re-create the original message during a  re-scan.
  1300.  
  1301.  
  1302.      STRIPPING ECHOMAIL CONTROL LINES IN RBBS
  1303.      ----------------------------------------
  1304.      Echomail  contains  alot "control lines"  which are normally not  dis-
  1305.      played to the user. These lines such as "SEEN-BY:", "PATH:" and "EID:"
  1306.      lines  can be stripped out of the RBBS messages by using the  "SECL:1"
  1307.      BBS  keyword in conjunction with the "FMAS:1" keyword. 
  1308.  
  1309.      The  type of lines to be stripped are configured via the  ,"SECL------
  1310.      -->"  parameter entries in the MSGTOSS.CFG file.  These entries  allow
  1311.      the  sysop to decide exactly what lines are to be ignored and up to 20
  1312.      "SECL-------->" entries are possible.
  1313.  
  1314.      This  allows  as  many messages to be imported into the  RBBS  message
  1315.  
  1316.                                   Page - 20
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.                              MSGTOSS Version 2.0
  1323.  
  1324.      base(s) in the allocated space defined.  See MSGBBS.DOC and MSGCFG.DOC
  1325.      for more detail.
  1326.  
  1327.  
  1328.      ELASTIC MESSAGE BASES
  1329.      ---------------------
  1330.      MSGTOSS  by  default is always checking that the "max  message"  value
  1331.      that is present in the message base,  "checkpoint record". This is al-
  1332.      ways  in   accordance with RBBS-PC standards (can be modified  by  the
  1333.      MSGMULT  parameter).  If  you elect to use the elastic  message  bases
  1334.      first  introduced in  RBBS 17-2 you simply set the "ELASTIC---->"  pa-
  1335.      rameter  to "YES".  Basically  all this does is whenever MSGTOSS tries
  1336.      to set the "max messages"  value,  it  will set it to the value of the
  1337.      "RBBS-MAX---->" parameter (currently 999).
  1338.  
  1339.      NOTE: For proper operation of the ELASTIC message bases,  the MAINT%LO
  1340.            and  MAINT%HI  parameters should be set to a value of 100  each.
  1341.            This  tells MSGTOSS during purging,  sizing and tossing to leave
  1342.            as  little amount of slack space at the end of the message bases
  1343.            as  possible (100 percent full at all times).  RBBS will  expand
  1344.            the message bases as users enter new messages.
  1345.  
  1346.  
  1347.      EXTREMELY LARGE MESSAGE BASES
  1348.      -----------------------------
  1349.      If  you  keep extremely large message bases (over 4000 records) it  is
  1350.      possible  for your message bases to exceed the (current) RBBS-PC maxi-
  1351.      mum of  999 messages per message base.
  1352.  
  1353.      Certain precautions are built into the MSGTOSS purging code to prevent
  1354.      this,  such  as  the  SLAK:xx keyword and  pre-counting  (further  ex-
  1355.      plained).
  1356.  
  1357.      NOTE: The  maximum  of  999 may soon be increased,  this  is  why  the
  1358.            "RBBSMAX---->" parameter is present in the MSGTOSS.CFG file. The
  1359.            default entry is 999, which reflects the "current" RBBS-PC maxi-
  1360.            mum.  In  the  event the maximum is raised (future  releases  of
  1361.            RBBS-PC)  the MSGTOSS "RBBS-MAX--->"  parameter will have to  be
  1362.            adjusted.  Also,  it  is possible to modify the RBBS code to in-
  1363.            crease the built-in 999 message limitation. The RBBS-MAX parame-
  1364.            ter allows you to do this safely.
  1365.  
  1366.      The  formula used to trigger a pre-count is (RBBS-MAX * 4),  where  if
  1367.      the number of records exceed this amount,  that will cause a pre-count
  1368.      of  the messages prior to tossing. Example:
  1369.  
  1370.            RBBS-MAX = 999, "precount" = (999 * 4), Trigger = 3996 recs
  1371.  
  1372.      Therefore  MSGTOSS  will  do a "pre-count"  of the messages  prior  to
  1373.      tossing.  This  "pre-count"  is  automatic and is triggered only  when
  1374.      MSGTOSS  senses a (RBBS-MAX * 4) record (or greater) message base.
  1375.  
  1376.      In the event of an "overflow", MSGTOSS will not allow any more messag-
  1377.      es to be imported into the message base,  but will allow other message
  1378.      bases  to be processed as normal.  After the *.PKT is tossed normally,
  1379.      MSGTOSS  will   rename the *.PKT to *.OFL (for overflow) and  log  the
  1380.      occurrence  of  the   overflow into the  MSGTOSS.LOG  and  MSGTOSS.ERR
  1381.  
  1382.                                   Page - 21
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.                              MSGTOSS Version 2.0
  1389.  
  1390.      files.  The sysop can then  elect to fix the overflow problem, or sim-
  1391.      ply  delete the *.OFL file.  Tossing  of selected echoes are  possible
  1392.      via the /AREA: command line switch(es).
  1393.  
  1394.      NOTE: Again,  the  possibility   of  an  overflow  is  unlikely   with
  1395.            MSGTOSS 2.0, not so with earlier versions.
  1396.  
  1397.  
  1398.      TOSSING DISPLAY
  1399.      ---------------
  1400.      During the tossing phase, alot of tossing activity is displayed to the
  1401.      user. If you would like to suppress this, simply add the '/DDA' switch
  1402.      to  the MSGTOSS command line. This will also result in faster process-
  1403.      ing of  messages.  However, any informational warning (like duplicate,
  1404.      oversized,  bad date, etc.) will still be displayed.
  1405.  
  1406.  
  1407.      ECHOMAIL MESSAGES ADDRESSED TO 'SYSOP'
  1408.      --------------------------------------
  1409.      Although its irritating, alot of Fidonet mail processors happily allow
  1410.      messages  entered TO:SYSOP to be exported into public echomail  areas,
  1411.      thus  when these messages arrive to your system,  RBBS-PC notifies you
  1412.      that YOU  have mail-waiting. Whenever MSGTOSS sees an echomail message
  1413.      that addressed  to 'SYSOP', MSGTOSS will change the addressee to 'SYS-
  1414.      TEM OPERATOR'.
  1415.  
  1416.      NOTE: During a re-scan of a message base (HUB situation), MSGTOSS will
  1417.            convert  these names back to 'SYSOP'  to equally irritate  those
  1418.            which you are re-scanning to.
  1419.  
  1420.  
  1421.      FEEDING DOWNSTREAM NODES
  1422.      ------------------------
  1423.      If you are a HUB, or you support POINTS, you can simultaneously create
  1424.      *.OUT  files addressed to your nodes/points by using the /FEED  switch
  1425.      on  your /TOSS command line. Using this switch will automatically feed
  1426.      your   nodes & points as MSGTOSS is tossing to your RBBS message bases
  1427.      (M.DEF)  or  #.MSG format.   Note that the use of the switch  requires
  1428.      more processing   (SEEN-BY lines,  etc.), so it will increase process-
  1429.      ing  time slightly.  For  more information,  see MSGSWI.DOC  reference
  1430.      guide.  Also see 'Scanning Philosophy', as it relates to /FEED.
  1431.  
  1432.  
  1433.      PASSTHRU AREAS (For HUBs)
  1434.      --------------
  1435.      MSGTOSS supports Qmail-Style passthru areas.   These are configured as
  1436.      having  a "#"  (pound sign) as the FIRST character in the  MSGTOSS.BBS
  1437.      file,   followed by the area name.  For instance, a  passthru area for
  1438.      the COMM  area would be entered as follows:
  1439.  
  1440.           #(Optional Path)  COMM   343/300 56 67 89 
  1441.  
  1442.      The optional path is not required by MSGTOSS, but some mail processors
  1443.      (such as Qmail or AreaFix) get upset when a path is not entered there.
  1444.  
  1445.      In order to activate this feature,  you must use the /FEED switch.  As
  1446.      MSGTOSS  is  tossing to your RBBS message bases and local  Fido  style
  1447.  
  1448.                                   Page - 22
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.                              MSGTOSS Version 2.0
  1455.  
  1456.      areas,  it will also toss the same messages to your down-stream nodes.
  1457.      This type of  area indicates that you are simply 'passing' the area to
  1458.      other  nodes,  and  are not keeping it locally.  It is most likely you
  1459.      will not be doing this  unless you are a Hub of some sorts.
  1460.  
  1461.  
  1462.      TOSSING NETMAIL
  1463.      ---------------
  1464.      Netmail messages are usually tossed into a Fido style directory, where
  1465.      either a local editor (such as MSGED) or netmail door (such as ECHODOR
  1466.      or   SMLNET) can be used to respond.  MSGTOSS provides full  point-re-
  1467.      mapping,  file/mail forwarding capabilities (with security envelope).
  1468.  
  1469.  
  1470.      KILLING (IGNORING) CLASSES OF MESSAGES
  1471.      --------------------------------------
  1472.      MSGTOSS provides three specialized command line switches that are  de-
  1473.      signed  to assist those sysops who which to use MSGTOSS in conjunction
  1474.      with  another mail processor (such as Qmail).  MSGTOSS allows (via the
  1475.      /KNET,   /KUNK  & /KRTE comm and line switches) the sysop to determine
  1476.      whether  he/she     wants MSGTOSS to ignore NETMAIL  (/KNET),  UNKNOWN
  1477.      (/KUNK) and ROUTETHRU  (/KRTE).
  1478.  
  1479.      NOTE: MSGTOSS  is capable of tossing all of the above classes of  mes-
  1480.            sages,  and  can provide exceptional mail/file routing capabili-
  1481.            ties.  These  switches are extremely specialized and should only
  1482.            be used with full understanding of what they do.
  1483.  
  1484.      The  KILLNULL parameter determines whether MSGTOSS will kill  (ignore)
  1485.      null messages.   These messages contain no text body, usually used for
  1486.      sending files or *.PKTs from file-attach type mailers.  If KILLNULL is
  1487.      set to 'Y'  (yes), MSGTOSS will kill the null message, and log its oc-
  1488.      curance to a file called MSGTOSS.NUL.
  1489.  
  1490.  
  1491.      AFTER TOSSING THE PACKET
  1492.      ------------------------
  1493.      After tossing the *.PKT, MSGTOSS will automatically delete the respec-
  1494.      tive *.PKT and *.IDX file and continue on to the next *.PKT file.
  1495.  
  1496.      NOTE: If you wish to keep the *.PKT files for further processing, sim-
  1497.            ply use the "/DKP"  switch.  This will delete the *.IDX file but
  1498.            will  leave the *.PKT file available for other processors  (like
  1499.            for HUB work).
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.                                   Page - 23
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.                              MSGTOSS Version 2.0
  1521.  
  1522.  
  1523.                             SET MAILWAITING BIT
  1524.                             -------------------
  1525.  
  1526. After successful tossing of the messages, MSGTOSS will then set the  'mail-
  1527. waiting bit' for all RBBS conferences which are configured to set the mail-
  1528. waiting bits (via MWST:x keyword) and which received mail.  This allows us-
  1529. ers  to  be   notified when they log-on the system whether they  have  mail
  1530. waiting  to  be   read in each of the  conferences.   During  initializing,
  1531. MSGTOSS  remembered  what the first message was before it started  tossing,
  1532. therefore if you use  the MWST:1 keyword,  it will ONLY set the bit for the
  1533. brand-new messages.
  1534.  
  1535. If you want to reset all mailwaiting bits for all conferences,  you can use
  1536. the  /MWRST  (mailwaiting reset) command line switch.   See MSGSWI.DOC  for
  1537. more information on this.
  1538.  
  1539. For  messages  that are addressed to the SYSOP or the SYSOP's common   name
  1540. (IE:Mike Zakharoff),  the TO: field will be changed to 'SYSOP' so when  you
  1541. log-on as the sysop, proper notification will be made.
  1542.  
  1543. The  SYSALIAS parameter (located in MSGTOSS.CFG) tells MSGTOSS which   user
  1544. name is considered the SYSOP.  This should be the same name as was  entered
  1545. in CONFIG for the secret remote logon, and for 'LOCAL' logon (ESC  switch).
  1546. Any  messages that match those as specified by the various  SYSNAME(s) will
  1547. cause  the mailwaiting bit for the SYSALIAS user to be set,   and cause the
  1548. TO:  field  to be changed to the text 'SYSOP',  if 'SYSOP'  is  not already
  1549. part of the TO: field.
  1550.  
  1551. NOTE: MSGTOSS  requires  that  all conferences contain the  SYSALIAS  user.
  1552.       During the mailwaiting phase, it will check this, and if not present,
  1553.       will  annoy  you until you add it.   It wants to always make sure  it
  1554.       knows what mailwaiting bit to set for SYSOP.
  1555.  
  1556. NOTE: You   can  obtain  faster  purging,   mailwaiting  and sizing by con-
  1557.       figuring MSGTOSS to use a work directory.  This is set via  the WORK-
  1558.       DIR--->  parameter.  To initiate  the  work  directory  specify /WDIR
  1559.       on  the  command line  while  executing  MSGTOSS.   If  a  RAM  disk,
  1560.       MSGTOSS  will first copy the message base to  the  RAM  disk (if  en-
  1561.       ough room exists)  and  will  purge  the  message  base  as required.
  1562.       After  purging,  MSGTOSS  will  then  copy   it   back automatically.
  1563.       In   addition,   if  paging  excess  users  to  the disk is required,
  1564.       MSGTOSS will use the work directory for  faster operation. If you put
  1565.       ANYTHING in this spot it must at minimum be a valid drive.
  1566.  
  1567.  
  1568.                               CREATE LOG FILE
  1569.                               ---------------
  1570.  
  1571. MSGTOSS keeps a useful log of the activity after each mail event.  The  di-
  1572. rectory of where this log file is created is specified by the  LOGDIR----->
  1573. parameter. Here is an example of the log:
  1574.  
  1575. MsgToss 2.0  01/03/92 - Report Date: 01-01-1992 00:27:06
  1576.  
  1577. 9BA308A0.PKT To:@1:343/36@fidonet Fm:@1:343/300@fidonet 29 QMail 1.0
  1578. 9BA61FB7.PKT To:@1:343/36@fidonet Fm:@1:343/300@fidonet 29 QMail 1.0 NET
  1579.  
  1580.                                   Page - 24
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.                              MSGTOSS Version 2.0
  1587.  
  1588. 9BA80FE1.PKT To:@1:343/36@fidonet Fm:@1:343/300@fidonet 29 QMail 1.0
  1589. 9BC7D716.PKT To:@1:343/36@fidonet Fm:@1:343/300@fidonet 29 QMail 1.0
  1590. PURG&RNUM - GENEALM.DEF  Purged: 141 Kept:   0 Users:   5 Set LMR
  1591. EXPANDED  - GENEALM.DEF  from  1008 to  1361
  1592. PURG&RNUM - COMMM.DEF    Purged:  73 Kept:  26 Users:  14 Set LMR
  1593. PURG&RNUM - CLIPPERM.DEF Purged:  15 Kept:  79 Users:   5 Set LMR
  1594. PURG&RNUM - CONSULTM.DEF Purged:   4 Kept:  76 Users:   2 Set LMR
  1595. PURG&RNUM - COOKINGM.DEF Purged:  98 Kept:   0 Users:   3 Set LMR
  1596. EXPANDED  - COOKINGM.DEF from  800 to  850
  1597. PURG&RNUM - C_PRGMM.DEF  Purged:  40 Kept:  43 Users:   6 Set LMR
  1598. PURG&RNUM - OS2M.DEF     Purged:  25 Kept:  76 Users:   2 Set LMR
  1599. PURG&RNUM - QUIKBASM.DEF Purged:  10 Kept:  96 Users:   7 Set LMR
  1600. PURG&RNUM - SCIENCEM.DEF Purged:  19 Kept:  50 Users:   5 Set LMR
  1601. PURG&RNUM - SPORTSM.DEF  Purged:  35 Kept:  54 Users:   6 Set LMR
  1602. PURG&RNUM - TECHM.DEF    Purged:  51 Kept:  53 Users:   6 Set LMR
  1603. PURG&RNUM - RBBSM.DEF    Purged:   4 Kept:  92 Users:  25 Set LMR
  1604.  
  1605. 9BA308A0.PKT Tot: 110 Dup:  0 Skip:  0 1:343/300@fidonet 29 QMail 1.0
  1606. 9BA61FB7.PKT Tot:  87 Dup:  0 Skip:  0 1:343/300@fidonet 29 QMail 1.0
  1607. 9BA80FE1.PKT Tot:  15 Dup:  0 Skip:  0 1:343/300@fidonet 29 QMail 1.0
  1608. 9BC7D716.PKT Tot:   7 Dup:  0 Skip:  0 1:343/300@fidonet 29 QMail 1.0
  1609.  
  1610. /TOSS/PREP/FIXC/NSTOP/DDA/WDIR/LOCK/DLOG/MUSER:3          MailWaiting
  1611.                                                       -------------------
  1612. AREA Name              Domain    Recd  Dups  Kept  Sent UMsgs  USet SYSOP
  1613. ---------------------- -------- ----- ----- ----- ----- ----- ----- -----
  1614. COMM                   fidonet     56     0    56     0     0     0     0
  1615. CLIPPER                fidonet     14     0    14     0     0     0     0
  1616. CONSULTING             fidonet      4     0     4     0     0     0     0
  1617. QUIK_BAS               fidonet     19     0    19     0     0     0     0
  1618. SCIENCE                fidonet     14     0    14     0     0     0     0
  1619. SPORTS                 fidonet     38     0    38     0     0     0     0
  1620. TECH                   fidonet     51     0    51     0     0     0     0
  1621. RBBS-PC                fidonet      2     0     2     0     0     0     0
  1622. NET343                 fidonet      2     0     2     0 Fido             
  1623. NET_DEV                fidonet      1     0     1     0 Fido             
  1624. -------------------------------------------------------------------------
  1625. Totals  --  Skipped:     1  --    726     0   726     0     0     0     0
  1626.  
  1627. Anal: 1.1  Prep: 1.4  Toss: 2.6  Mwait: 0.6  Tot:  5.7  Toss/Min: 278
  1628.  
  1629.  
  1630. MSGTOSS 2.0 provides a list of the purging activity,  the *.PKTs processed,
  1631. how many messages were in each *.PKT, how many  DUPS,  how  many   messages
  1632. were skipped due to bad message headers,  over sized messages,  which  mes-
  1633. sage bases were expanded,  etc. In addition,  it provides the  command line
  1634. switches that were used when executing MSGTOSS. It provides  the sysop with
  1635. a summary of the mailwaiting status of his system, including   himself, and
  1636. a  summary  of how many messages  were  skipped  and  the  time  needed  to
  1637. complete  the major operations of MSGTOSS,  including the tossing  through-
  1638. put.
  1639.  
  1640. NOTE: The  creation of the MSGTOSS.LOG file is automatic.   It is up to you
  1641.       to delete it at regular intervals.  Its location is determined by the
  1642.       LOGDIR----> parameter.
  1643.  
  1644.  
  1645.  
  1646.                                   Page - 25
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.                              MSGTOSS Version 2.0
  1653.  
  1654.  
  1655.                        CREATE MISC BAT/CMD/CTL FILES
  1656.                        -----------------------------
  1657.  
  1658. MSGTOSS was designed to be extremely flexible,  therefore, various  system-
  1659. related utility batch files can be automatically created. The only  message
  1660. bases  reported  are only those which have received  new  messages.   These
  1661. BAT/CMD/CTL files are automatically deleted each time MSGTOSS is  executed,
  1662. therefore  the maintenance they call out should be executed immediately af-
  1663. ter executing of MSGTOSS.  This can be used for a variety of  tasks,  where
  1664. the replacement parameters available are [MSGFILE],  [USRFILE],  [WELFILE],
  1665. and [AREA].  The parameters ONLY apply to RBBS message bases, and  not Fido
  1666. sub-directories.
  1667.  
  1668. Here  is  a sample of a UTIL(s) commands being used to   create   automated
  1669. batch files for SUBJECT utility:
  1670.  
  1671. UTIL1------->SUB.BAT
  1672. UTIL1CMD---->SUBJECT I:[MSGFILE] O:[WELFILE] C:[AREA] F:C
  1673.  
  1674. Will  create  a file called SUB.BAT for  all  those  message  bases    that
  1675. actually received messages (RBBS only!).  Example:
  1676.  
  1677. You receive echomail in the following message bases:
  1678.  
  1679.      C:\RBBS\RBBSM.DEF, RBBS-PC
  1680.      C:\RBBS\COMMM.DEF, COMM
  1681.      C:\RBBS\COOKM.DEF, COOOKING
  1682.  
  1683. and  you have the above UTIL1 commands,  MSGTOSS will create SUB.BAT,  that
  1684. would look like the following:
  1685.  
  1686. SUBJECT I:C:\RBBS\RBBSM.DEF O:C:\RBBS\RBBSW.DEF C:RBBS-PC F:C
  1687. SUBJECT I:C:\RBBS\COMMM.DEF O:C:\RBBS\COMMW.DEF C:COMM F:C
  1688. SUBJECT I:C:\RBBS\COOKM.DEF O:C:\RBBS\COOKW.DEF C:COOKING F:C
  1689.  
  1690. The templates [MSGFILE],  [WELFILE] & [AREA] are dynamically replaced, cre-
  1691. ating the batch file that can execute SUBJECT.EXE (a very fine utility that
  1692. automatically creates welcome files for conferences).
  1693.  
  1694. Immediately  after the toss SUB.BAT needs to be executed,  as the next time
  1695. MSGTOSS is  executed, it will delete the batch file automatically.
  1696.  
  1697. NOTE: MSGTOSS  will only replace message bases that contain  'M.DEF'.   For
  1698.       the main RBBS message base 'MESSAGES', a line would NOT be created.
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.                                   Page - 26
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.                              MSGTOSS Version 2.0
  1719.  
  1720.  
  1721.                                     SCAN
  1722.                                     ----
  1723.  
  1724. The  /SCAN switch is what enables MSGTOSS to send all new messages  created
  1725. on  your system to your host or boss node.  The messages can be in the form
  1726. of  RBBS message bases (M.DEF) or FIDO messages (#.MSG).   MSGTOSS can scan
  1727. (export) new mail for both formats,  either or both simultaneously.  In ad-
  1728. dition,  for hub work, it has the capability to rescan a certain area for a
  1729. particular net/node using the /RSCAN switch.  It also does a few other use-
  1730. ful features.
  1731.  
  1732. Related MSGTOSS.BBS keywords:  PRIV:x, GATE:x, NODE:x, CDUP:x and NBBS:
  1733.  
  1734. Related command line switches (see MSGSWI.DOC for more info)
  1735.  
  1736.    /SCAN   /RBBS  /FIDO  /LOCK  /FIX   /FIXC,   /DDA    (basic)
  1737.    /RSCAN: /HWM   /CFG:  /BBS   /WDIR  /AREAF:  /AREA:  (advanced)
  1738.  
  1739.  
  1740. PRIVATE MESSAGES
  1741. ----------------
  1742.  
  1743. Configured by the MSGTOSS.BBS keyword PRIV:x,  you can tell MSGTOSS what to
  1744. do in the event of finding a private message while scanning.   Here are the
  1745. basic rules:
  1746.  
  1747.      If COMMENT will not be exported (ever)
  1748.      If PRIVATE and TO:SYSOP will not be exported
  1749.      If PRIVATE and TO:USER and PRIV:1 then export (priv set)
  1750.      If PRIVATE and TO:USER and PRIV:0 then DON'T export
  1751.  
  1752. The  term  USER means an active user in the U.DEF for the specified  M.DEF.
  1753. If the message is an authorized private message,  MSGTOSS will set the pri-
  1754. vate bit for the message.  For more information, see PRIV:x in MSGBBS.DOC.
  1755.  
  1756.  
  1757. SCANNING PHILOSOPHY
  1758. -------------------
  1759.  
  1760. Feeding  NODES  is a function of /FEED,  and is --> NOT <-- done from  RBBS
  1761. message  bases.   Basically  this means that the exporting of mail via  the
  1762. /SCAN is ONLY intended for "locally" entered mail, and also for re-scanning
  1763. to a net/nodes when needed.  Reasons (also see EXCEPTION):
  1764.  
  1765. MSGTOSS  does NOT follow the same rule like RBBSMAIL where it builds a  new
  1766. message bases to insert the SEEN-BY and PATH lines.  The SEEN-BYs and PATHs
  1767. are exported,  but the message base does NOT physically change.  Any exist-
  1768. ing  SEEN-BYs  and  PATHS in RBBS message bases  are  simply  ignored,  and
  1769. MSGTOSS will export a short SEEN-BY and PATH that only contains your system
  1770. and the nodes it feeds.
  1771.  
  1772. The requirement to re-build a message base while scanning is not desirable,
  1773. (sorry  RBBSMAIL)  as this prevents the ability to SCAN while users are  on
  1774. -line.  The MSGTOSS method allows absolutely safe scanning of mail continu-
  1775. ously, even if 20 nodes are active.
  1776.  
  1777.  
  1778.                                   Page - 27
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.                              MSGTOSS Version 2.0
  1785.  
  1786. This  makes it practical to always use the FMAS:1 bbs keyword,  because  in
  1787. theory your downstream nodes have ALREADY feed via the /TOSS/FEED.  Clear?
  1788.  
  1789. EXCEPTION: If  you are re-scanning from a FIDO area (#.MSG),  MSGTOSS  will
  1790.            correctly maintain the SEEN-BY:  and PATH: lines.  The reason is
  1791.            that  MSGTOSS tosses SEEN-BY and PATH lines to a FIDO area,  but
  1792.            not (usually) to an RBBS message base.
  1793.  
  1794.  
  1795. MIRROR SCANNING
  1796. ---------------
  1797. MSGTOSS 2.0+ provides a notable feature called "mirror-scanning",  where if
  1798. you have a double-tossed area (RBBS + FIDO,  for one area),  then if a user
  1799. entered a message in the RBBS conference, when exported, will also create a
  1800. "carbon copy",  complete with Origin: line,  in the Fido-Style directory as
  1801. well.   The same applies to when a user (or yourself) enters a message in a
  1802. Fido-Style conference, when exported, will create a carbon copy in the RBBS
  1803. message base.
  1804.  
  1805.  
  1806. There are four phases to a scan operation:
  1807.  
  1808.                    1 Initialization
  1809.                    2 Scan RBBS message bases
  1810.                    3 Scan FIDO message areas
  1811.                    4 Creates Log File
  1812.  
  1813. INITIALIZATION
  1814. --------------
  1815.  
  1816. During  initialization,  MSGTOSS will read your MSGTOSS.BBS to see who your
  1817. host,  points, and feeds are.  It will also check the nodelist to see if it
  1818. is  current.   If your  nodelist is not current it will give you a  warning
  1819. and continue processing.  If you specified the /LOCK command it will enable
  1820. the  appropriate  file locking method in accordance with the  LOCKTYPE---->
  1821. parameter prior to scanning.
  1822.  
  1823. NOTE: The  whole /SCAN operation can be executed safely even though us-
  1824.       ers  are on-line,  as MSGTOSS will use full multi-tasking/network
  1825.       record locking protocols (using  /LOCK,  as defined by LOCKTYPE--
  1826.       --->) during a /SCAN, allowing fully safe scanning.
  1827.  
  1828. NOTE: MSGTOSS  expects all of your RBBS message bases and fido  directories
  1829.       to properly  exist prior to scanning.   You should have run /TEST be-
  1830.       fore   this to make sure you are properly setup,  as /TEST will  also
  1831.       check  for  these directory conflicts.  It will also tell you if  you
  1832.       are missing a message or user base.
  1833.  
  1834. If  the bbs keyword CDUP:1 (check for duplicates) is active,  MSGTOSS  will
  1835. load all of its keys into memory.   MSGTOSS will store all of the MSGID CRC
  1836. codes into the MSGTOSS.EID file after it exports a message.  During a /TOSS
  1837. operation,  if  the same message shows up (maybe caused by an improper host
  1838. link),  it  will  be ignored.   For more  information,  see CDUP:x  in  the
  1839. MSGBBS.DOC file.
  1840.  
  1841. NOTE: To obtain the fastest scanning/tossing throughput, avoid using CDUP:1
  1842.       (use CDUP:0) unless you have a real problem with duplicates.
  1843.  
  1844.                                   Page - 28
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.                              MSGTOSS Version 2.0
  1851.  
  1852.  
  1853.  
  1854. SCAN RBBS MESSAGE BASES
  1855. -----------------------
  1856.  
  1857. To  initiate the scanning of RBBS message bases,  you need to specify /RBBS
  1858. on the /SCAN command line.  MSGTOSS will first attempt to read the High Wa-
  1859. ter Mark (HWM) in each of the RBBS message bases.   For RBBS message bases,
  1860. this  is located in position 121-122 of the checkpoint record.   The HWM is
  1861. stored as the RECORD number of the HWM message.   If the HWM is valid (i.e.
  1862. the record number is a true header),  MSGTOSS will ignore all previous mes-
  1863. sages prior to this record.   See /HWM & /SCAN (in MSGSWI.DOC) for more in-
  1864. formation.
  1865.  
  1866. NOTE: During a MSGTOSS purge operation (/SIZE or /PREP), MSGTOSS will reas-
  1867.       sign the HWM to its new value automatically.
  1868.  
  1869. WARNING: If  you decide to use another purging utility  (CONFIG,  MU-PURGE,
  1870.          HUH,  etc.),  then the HWM located at position 121-122 will become
  1871.          screwed up!   For the most part,  MSGTOSS will figure out that the
  1872.          HWM is not proper, and start scanning from the first message.  Us-
  1873.          ing another purging utility will cause the MSGTOSS /SCAN operation
  1874.          to be slower.
  1875.  
  1876. NOTE: The  /HWM  switch provides a means of forcing MSGTOSS to  ignore  the
  1877.       HWM, and start scanning from the first message.  If you have used an-
  1878.       other purging utility, or you are not sure if a message was exported,
  1879.       try using the /HWM switch.
  1880.  
  1881. While scanning an RBBS message base,  MSGTOSS will look at the second digit
  1882. of the TIME field (position 64 of the message header) for the presence of a
  1883. ':'  (colon), and if present, will export the message.   After exportation,
  1884. MSGTOSS  will  change this colon to a '.'  (period) to 'MARK'  it as  being
  1885. scanned.
  1886.  
  1887. NOTE: This  is  the  same  scheme that RBBSMAIL uses to  mark  messages  as
  1888.       scanned.
  1889.  
  1890. When  MSGTOSS  has finished exporting an M.DEF message,  it will  append  a
  1891. '<XMT>' to the bottom of the message, allowing users or the sysop know that
  1892. the message has been exported.   During a MSGTOSS purge operation (/PREP or
  1893. /SIZE), MSGTOSS will replace these <XMT> lines with the defined origin line
  1894. (can be configured via ORGN:  keyword(s)).   The reason for this odd method
  1895. is to allow full scanning features while users are on-line.
  1896.  
  1897. NOTE: MSGTOSS will NOT fragment the RBBS message bases during a /SCAN oper-
  1898.       ation (or /TOSS for that matter!).
  1899.  
  1900. MSGTOSS will open *.OUT files to their respective net/nodes,  as defined by
  1901. the net/node listing for each area in the MSGTOSS.BBS file. During the scan
  1902. session,  these  *.OUT packet(s) are generated on the fly and closed at the
  1903. end of the scan process.
  1904.  
  1905. NOTE: MSGTOSS  uses the *.OUT format,  which is a standard format used  for
  1906.       many  Fidonet  compatible systems.   These *.OUT files  are  normally
  1907.       packed  by  a program called Ommm (1.5+ recommended) and  some  other
  1908.       packers.   If  you  are  running  a  file-attach  mailer  (Frontdoor,
  1909.  
  1910.                                   Page - 29
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.                              MSGTOSS Version 2.0
  1917.  
  1918.       DBridge, etc.) you will need a special packer that will convert these
  1919.       *.OUT files to support their file-attach method.  MAKEARC is a recom-
  1920.       mended packer for these types of systems.
  1921.  
  1922. During  its search of the RBBS messages bases it will give you a display on
  1923. the  screen  of what it is doing and what it found in each  message   base.
  1924. This is a typical display for a few RBBS message bases.
  1925.  
  1926.  
  1927. Scanning Message Bases
  1928.                                         Msg    New   Num   Num  Msgs Total
  1929. Area Name              Domain  MsgBase  Num   Msgs  Priv Nodes  Sent  Sent
  1930. --------------------- -------- ------- ----- ----- ----- ----- ----- -----
  1931. MAC                   fidonet  MAC       339     6     0     4     6    24
  1932. APPLE                 fidonet  APPLES    529     1     0     1     1     1
  1933. ASKACOP2              fidonet  POLICE    334     0     0     0     0     0
  1934. AMIGA_PROG            fidonet  AMIGAPR    45     0     0     0     0     0
  1935.  
  1936. Because  there are 4 nodes that get files from the MAC area the total  mes-
  1937. sage  sent out was 24 (4 * 6).   Most people will just be sending  messages
  1938. to one place and then the second line would be much more common.   The 'Num
  1939. Priv' column indicates the number of private messages exported.
  1940.  
  1941.  
  1942. SCAN FIDO MESSAGE AREAS
  1943. -----------------------
  1944.  
  1945. To initiate the scanning of FIDO message areas (#.MSG), you need to specify
  1946. /FIDO on the /SCAN command line.   It  will use the MSGTOSS.BBS to find the
  1947. path  to these messages,  use its high water mark (1.MSG) and SEEN-BY lines
  1948. to  determine which net/nodes the message needs to be sent to.    When  ex-
  1949. porting a FIDO message (#.MSG), MSGTOSS will set the 'sent' bit, preventing
  1950. re-exportation.  The On screen display  will look like this.
  1951.  
  1952. Scanning Message Bases
  1953.                                         Msg    New   Num   Num  Msgs Total
  1954. Area Name              Domain  MsgBase  Num   Msgs  Priv Nodes  Sent  Sent
  1955. --------------------- -------- ------- ----- ----- ----- ----- ----- -----
  1956. NET935                rbbsnet  *.MSG      55     2     0     4     4    16
  1957. RBBS_MSGTOSS          rbbsnet  *.MSG     101     1     0     1     1     1
  1958. RBBS-ADA              rbbsnet  *.MSG      98     5     0     2     5    10
  1959.  
  1960.  
  1961. After  going thorough all the areas it will then close the *.out files  and
  1962. display  the  time it took to do the scan and provide listing of  the   ad-
  1963. dressees  the packets are going to and how many messages were sent to  each
  1964. address.  Here an example:
  1965.  
  1966. Scanning took 17.4 seconds.
  1967. Sent    40 message(s) to 1:271/270@fidonet
  1968. Sent     2 message(s) to 1:271/260@fidonet
  1969. Sent    10 message(s) to 1:271/280@fidonet
  1970.  
  1971. You  now have the *.OUT file(s) in your OUTBOUND-----> directory(s) for the
  1972. domain   that it was created for.   These *.OUT files will still need to be
  1973. packed  by  the appropriate packer (Ommm for Binkley systems,  MAKEARC  for
  1974. file-attach  systems).   Also  see  OUTBOUND----> in  MSGCFG.DOC  for  more
  1975.  
  1976.                                   Page - 30
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.                              MSGTOSS Version 2.0
  1983.  
  1984. information on this.
  1985.  
  1986. RE-SCANNING TO NET/NODES
  1987. ------------------------
  1988. If  you are a hub,  you can have MSGTOSS re-scan messages to new net/nodes.
  1989. For more information, see /RSCAN:xxx,xxx,xxx in MSGSWI.DOC.  Also throughly
  1990. understand the MSGTOSS scanning methodology as discussed in this section.
  1991.  
  1992.  
  1993. CREATE LOG FILE
  1994. ---------------
  1995.  
  1996. MSGTOSS  after  the completed scan will copy the exact display you saw   on
  1997. the screen to the MSGTOSS.LOG file. If the file doesn't exist it will  cre-
  1998. ate it.  So you can delete it any time you want,  But not during processing
  1999. please.
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.                                   Page - 31
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.                              MSGTOSS Version 2.0
  2049.  
  2050.  
  2051.                           DOMAIN & ZONE AWARENESS
  2052.                           -----------------------
  2053.  
  2054. Alot  of  mail processors CLAIM to be ZONE  and/or  DOMAIN   aware.    What
  2055. does  that mean?   The authors of MSGTOSS really  mean  business  when   we
  2056. claim  MSGTOSS  is domain/zone aware,  more  than  any  other  known   mail
  2057. tosser, and by all means any other RBBS-PC mail processor.
  2058.  
  2059.     DOMAINS & ZONES - DEFINED
  2060.     -------------------------
  2061.     A  domain  is  defined to mean any combination of ZONES/NETS  &   NODES
  2062.     within a particular boundary.  For  instance,  Fidonet,  Rbbs-Net, Sig-
  2063.     Net,  Alternet, Eggnet, etc.. are each a unique domain.  
  2064.  
  2065.     Per definition,  each domain may have combinations of  zones,  nets and
  2066.     nodes which may overlap between other domains.  For  instance:
  2067.  
  2068.           1:343/300.0@fidonet
  2069.           2:343/300.0@fidonet
  2070.           1:343/300.0@Sig-net
  2071.           1:343/300.0@Zak-net
  2072.  
  2073.     All are perfectly fine,  although the same net & node are the same, the
  2074.     zone/domain is different, and they each have unique identifiers.  
  2075.  
  2076.     THE BASIC PROBLEM
  2077.     -----------------
  2078.     Mosts mail processors are not that smart,  and only provide the NET and
  2079.     NODE of the PKT.   Some mail processors provide the ZONE of the packet.
  2080.     Generally,  if  identical mail processors  pass  mail  back and  forth,
  2081.     and   they  both  support zones then a great deal   of    accuracy  can
  2082.     achieved  as  far as zone-awareness is concerned.   If a message is ad-
  2083.     dressed to   1:343/36@fidonet, and I am that address, no problem.
  2084.  
  2085.     However if mail is being routed THROUGH you, and was packed  by  a  zo-
  2086.     ne-dumb  packer,  even  the so-called zone-aware mail processors  would
  2087.     have  no idea what zone it is,  and will probably toss the message into
  2088.     the default zone directory.
  2089.  
  2090.     MSGTOSS  has  totally  eliminated  the  basic  problem  and  positively
  2091.     identifies the domain & zone,   even  though  the  sender  was  using a
  2092.     zone-dumb processor.  MSGTOSS accomplishes this via its own proprietary
  2093.     nodelist  which is updated/created along with the weekly nodelist  pro-
  2094.     cessing   (this is explained further in the document).  Along with some
  2095.     clever programming and logical guessing, MSGTOSS will be  able  to fig-
  2096.     ure  out the  correct origination & destination domain/zone/net &  node
  2097.     of  the PKT,  and  even provides an assessment as to  the   reliability
  2098.     of the domain/zone  identification procedure.
  2099.  
  2100.     This is further processed  by  tossing  the  message  into  a  separate
  2101.     NETMAIL directory for each unique DOMAIN.   For instance,  if you   be-
  2102.     long  to  both  Fidonet  and Rbbs-Net,  you  could  have  two  separate
  2103.     directories, one for each domain.  For instance:
  2104.  
  2105.         C:\NMAIL\RBBSNET\
  2106.         C:\NMAIL\FIDONET\
  2107.  
  2108.                                   Page - 32
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.                              MSGTOSS Version 2.0
  2115.  
  2116.  
  2117.     This is configurable via the ZONETYPE----> parameter.  For all netmail,
  2118.     you can configure the following:
  2119.  
  2120. ZONETYPE 1 - Singled directory for all netmail from ALL domains & zones
  2121. ZONETYPE 2 - Mult directories for each unique domain (as above)
  2122. ZONETYPE 3 - Mult directories for each unique zone within each domain
  2123.  
  2124.     During system setup or debugging (/TEST switch), MSGTOSS will  complain
  2125.     loudly if it  finds  inconsistencies  between  ZONETYPE  and  directory
  2126.     structure.
  2127.  
  2128.     For echomail, you define what domain a particular  echomail  conference
  2129.     belongs  to.   The  zone  is not important,  as  most  conferences  are
  2130.     shared via multiple zones per domain.   For instance, the Fidonet RBBS-
  2131.     PC    echo  is  echoed throughout Fidonet (a domain) and not  just  one
  2132.     zone.  On   the other hand, Rbbs-Net also has an RBBS-PC echo, which is
  2133.     gate routed  to them.   Any other mailprocessor would get confused, but
  2134.     MSGTOSS  is  able to  keep the two conferences (Fidonet & Rbbs-Net) to-
  2135.     tally separate,  even though   they  have  the  same  name!    This  is
  2136.     accomplished  by   the destination  address of the PKT.   For instance,
  2137.     suppose you received two echoes by the  same name,  but a different do-
  2138.     main:  Your addresses where:
  2139.  
  2140.      1:343/36.0@fidonet
  2141.      8:918/10.0@rbbs-net
  2142.  
  2143.     Each having a totally separate conference area called 'RBBS-PC'
  2144.  
  2145.     If  a  host sends echomail to 8:918/10,  then  RBBS-PC  messages   will
  2146.     be  tossed  into  the  totally  separate  RBBS-PC  conference/directory
  2147.     as   defined for domain rbbs-net,  and leave the defined  fidonet  con-
  2148.     ference   alone.   No other mail processor in the world provides   this
  2149.     amount  of  domain/zone separation capability.
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.  
  2159.  
  2160.  
  2161.  
  2162.  
  2163.  
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.                                   Page - 33
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.                              MSGTOSS Version 2.0
  2181.  
  2182.  
  2183.                        NETWORK/MULTI-TASKING SUPPORT
  2184.                        -----------------------------
  2185.  
  2186.  
  2187. When  using the /LOCK command line switch,  MSGTOSS will use RBBS  NETBIOS,
  2188. DESQVIEW,  PC-NET or 10-NET conventions in accordance with the LOCKTYPE--->
  2189. parameter.   This is used during tossing, scanning, purging, renumbering, &
  2190. sizing message bases.   Because purging can sometimes take long  periods of
  2191. time  (especially  if  executing in a slow background  DESQVIEW    window),
  2192. MSGTOSS supports two special CFG parameters,  LOCKWAIT---> and  LOCKTIME---
  2193. >.  Both  of  these CFG parameters affect purging/tossing/resizing   opera-
  2194. tions.  MSGTOSS  will  lock and un-lock the message base using  the  proper
  2195. RBBS conventions whenever necessary,  but due to MSGTOSS's speed these  pa-
  2196. rameters were required to slow it down in a controlled manner.
  2197.  
  2198. If  LOCKWAIT--->  is a value greater then 0,  whenever MSGTOSS  releases  a
  2199. message  base it will WAIT xx seconds prior to continuing.   The XX  can be
  2200. as  small as ".01"  so extremely small amounts of delay are possible.   The
  2201. idea  behind the wait is to allow other nodes a chance to lock the  message
  2202. base  (while another user is entering a message) and MSGTOSS is  forced  to
  2203. wait until the other node is finished.
  2204.  
  2205. If  LOCKTIME---> is a value grater than 0,  then whenever MSGTOSS locks   a
  2206. message  bases LONGER than XX seconds (5 seconds recommended) it will  stop
  2207. what  its doing (purging/tossing/resizing),  reset the message base  check-
  2208. point  records,  wait for LOCKWAIT---> seconds,  then continue what it  was
  2209. doing.  This allows other nodes a chance to break in while MSGTOSS is doing
  2210. a long purge or other operation.
  2211.  
  2212. MSGTOSS  will  (during /TOSS & /SCAN) flash "status"  lights in the   lower
  2213. right-hand  corner  of  the  screen indicating if a  message/user  base  is
  2214. locked.
  2215.  
  2216.  
  2217.      EFFECTS OF PURGING WHILE USERS ARE ON-LINE
  2218.      ------------------------------------------
  2219.      It should be noted that no ill effects have been noticed during exten-
  2220.      sive  beta  testing as to the effects of purging messages while  users
  2221.      are on-line, however, some anomalies exist that are noteworthy.
  2222.  
  2223.      If  a  user  is active in a conference while MSGTOSS is  busy  purging
  2224.      messages,  the  user  may become confused as to why messages  suddenly
  2225.      disappear. This is normal, as when the user joined the conference, all
  2226.      of  the  locations of the message headers were written into memory  by
  2227.      RBBS-PC,  and  RBBS-PC doesn't expect these locations to change.  This
  2228.      doesn't seem to hurt  the message base. 
  2229.  
  2230.      When  MSGTOSS finally gets around to actually tossing  messages,  then
  2231.      messages  will suddenly re-appear,  most likely garbled,  as mentioned
  2232.      earlier,  RBBS-PC  expects the headers to be where they were when  the
  2233.      user  first  joined the conference.  The usual response of the user is
  2234.      to:
  2235.  
  2236.           1) Panic (what did I do!)
  2237.           2) Hang-up and call again
  2238.           3) Re-join the main message base and enter a COMMENT  to  the
  2239.  
  2240.                                   Page - 34
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.                              MSGTOSS Version 2.0
  2247.  
  2248.             Sysop stating that something is wrong.
  2249.  
  2250.      NOTE: If you find this intolerable, you can elect  to  simply  use the
  2251.            /PREX (pre-expand) switch and the user will never be affected by
  2252.            this.  However, remember that pre-expanding the message will re-
  2253.            quire  it  to be  chopped down "SOONER than LATER"  (quote  from
  2254.            George  Bush  prior  to attacking  IRAQ) via the  MSGTOSS  /SIZE
  2255.            switch.
  2256.  
  2257.      However,  an astute user can simply enter the '[P]ersonal Mail'  func-
  2258.      tion  to re-load all of the message header keys and all will return to
  2259.      normal (assuming MSGTOSS is done).
  2260.  
  2261.      If  a user was busy entering a message base  during  this  time  peri-
  2262.      od,  he/she shouldn't be affected  while  MSGTOSS  was  in  the  back-
  2263.      ground.   RBBS-PC will first  obtain  updated  checkpoint  information
  2264.      from   the message base prior to writing the message information,  and
  2265.      MSGTOSS is constantly updating this record during its purging process.
  2266.  
  2267.      MSGTOSS  never expects another process to be purging  message bases at
  2268.      the   same time it  is!  What this equates to is attempting to run TWO
  2269.      (or  more)   MSGTOSS processes at the same time is asking for  corrupt
  2270.      message bases!   However,  if you must do this (reasons unknown to my-
  2271.      self)  you  can avoid  problems by having each MSGTOSS process  use  a
  2272.      different MSGTOSS.BBS file,   to make sure they don't collide by purg-
  2273.      ing the same message base.  Theoretically, TWO (or  more) MSGTOSS pro-
  2274.      cesses  can  exist during TOSSING,  but purging is where problems  may
  2275.      arise. 
  2276.  
  2277. For the most part,  most  users  will  be  unaffected  by  MSGTOSS  purging
  2278. in the background, other than the speed of the system will show it.
  2279.  
  2280. NOTE: As of this writing,  a rather irritating bug exists in RBBS-PC, where
  2281.       if a NEWUSER is logging on, RBBS-PC will lock the USER base until the
  2282.       user  has  succesfully (totally finished) logs on.   This equates  to
  2283.       MSGTOSS  waiting (flashing user base flag) until the NEWUSER is  fin-
  2284.       ished  answering all of the questionnaires,  etc.   This is the  only
  2285.       known  cause  of MSGTOSS seeming to apparantly LOCK-UP (with  locking
  2286.       status lights).  If you notice this, its RBBS, not MSGTOSS.
  2287.  
  2288.  
  2289. MSGTOSS AS A USER
  2290. -----------------
  2291.  
  2292. While MSGTOSS is busy in the background,  you can have it constantly update
  2293. one of the   RBBS-PC node-records of the main message base via the /MUSER:x
  2294. command  line  switch,  where x is the node number MSGTOSS will permanently
  2295. occupy.  A user entering [W]ho else is on can see something similar:
  2296.  
  2297.      Node 1  Online at 9600 BAUD: SYSOP                   KENT ,WA
  2298.      Node 2  Online at 2400 BAUD: JOHN HENDRICKS          SEATTLE,WA
  2299.      Node 3  Online at 9600 BAUD: MsgToss 2.0-Mail System PURGING MSG BASES
  2300.  
  2301. For more information, see MSGSWI.DOC on this.
  2302.  
  2303.  
  2304.  
  2305.  
  2306.                                   Page - 35
  2307.  
  2308.  
  2309.  
  2310.  
  2311.  
  2312.                              MSGTOSS Version 2.0
  2313.  
  2314.  
  2315.                                 INSTALLATION
  2316.                                 ------------
  2317.  
  2318. MSGTOSS is a very extensive program and covers every aspect required  for a
  2319. ECHOMAIL  tosser  and  scanner.  If this is your first time trying  to  use
  2320. MSGTOSS,  I  advise you use all the default examples listed.  If you have a
  2321. problem,  use  the reference manuals to fine tune that area.  This  section
  2322. will try to lead you through the installation process Step by Step.
  2323.  
  2324.  
  2325. MSGTOSS  probably should be in a directory all by itself.  This will   help
  2326. you  understand what files are for it and what it does.  You will need   to
  2327. find  a  drive that has enough room which is about 600K for a small  system
  2328. and  up  to about 1.5 meg for systems that have around 120 echomail  areas.
  2329. The  MSGTOSS.LOG  will increase in size during each action  taken.  Another
  2330. variable  is  the  MSGTOSS.EID  table.   It's size  is  controlled  by  the
  2331. MSGTOSS.CFG file. Other than these concerns nothing should matter where you
  2332. put it.  The echomail packets that you get can go anywhere,  as long as you
  2333. inform  MSGTOSS where they are (via FILES-------> parameter(s).  We will be
  2334. using  C:\MSGTOSS as the drive for the setup.
  2335.  
  2336.  
  2337. There are 11 steps to installing MSGTOSS:
  2338.  
  2339.       1) Create MSGTOSS directory
  2340.       2) Copy files to MSGTOSS directory
  2341.       3) Print & read  documentation
  2342.       4) Modify sample MSGTOSS.CFG
  2343.       5) Modify sample MSGTOSS.BBS
  2344.       6) Modify default MSGTOSS.BBS Keywords
  2345.       7) Create MSGTOSS.NOD using MSGNLST.EXE
  2346.       8) Test system setup
  2347.       9) Mail tossing test
  2348.      10) Mail scanning test
  2349.      11) Batch file modification.
  2350.  
  2351.  
  2352.                           CREATE MSGTOSS DIRECTORY
  2353.                           ------------------------
  2354.  
  2355. Although  having its own directory is optional,  it may simplify things  to
  2356. begin with.  Personally, I placed it in the same directory where the mailer
  2357. is, like C:\BT\ or C:\FD, or whatever.  Or maybe C:\MSGTOSS
  2358.  
  2359.  
  2360.                       COPY FILES TO MSGTOSS DIRECTORY
  2361.                       -------------------------------
  2362.  
  2363. Copy all the files from the registered disk into your directory or all  the
  2364. files  from the shareware disk and un-compress them into your selected  di-
  2365. rectory.
  2366.  
  2367. The following files are required to run MSGTOSS.
  2368.  
  2369.      MSGTOSS.COM    (program: Spawns MSGTOSS1.OVR)
  2370.      MSGTOSS1.OVR   (program: Main MSGTOSS overlay file)
  2371.  
  2372.                                   Page - 36
  2373.  
  2374.  
  2375.  
  2376.  
  2377.  
  2378.                              MSGTOSS Version 2.0
  2379.  
  2380.      MSGNLST.EXE    (program: Nodelist compiler, creates MSGTOSS.NOD)
  2381.      MSGHELP.EXE    (program: DOS-help for setting up MSGTOSS)
  2382.      MSGEID.EXE     (program: EID database maintenance utility)
  2383.      MSGTOSS.BBS  * (modify ... to suit your message bases)
  2384.      MSGTOSS.CFG  * (modify ... to suit your system configuration)
  2385.      MSGTOSS.CMD  * (modify ... MSGTOSS metacommands - advanced)
  2386.      MSGTOSS.PCD    (contains product codes for all known mailers)
  2387.      MSGTOSS.EID    (created by MSGTOSS - EID database for dup checking)
  2388.      MSGTOSS.NOD    (created by MSGNLST from raw nodelist(s))
  2389.      MSGTOSS.DOC     \   (this file)
  2390.      MSGCFG.DOC       \
  2391.      MSGBBS.DOC        >  Printing (and reading) these are mandatory!
  2392.      MSGSWI.DOC       /
  2393.      MSGIDX.DOC      /   (Integrated INDEX)
  2394.  
  2395. After  you set up Msgtoss it will create a few others that are necessary to
  2396. run itself.
  2397.  
  2398.  
  2399.                             PRINT DOCUMENTATION
  2400.                             -------------------
  2401.  
  2402. Print out all of the documentation for MSGTOSS,  especially the MSGCFG.DOC,
  2403. MSGSWI.DOC,  and  MSGBBS.DOC,  as you will be referring to them alot during
  2404. setup.
  2405.  
  2406.  
  2407.                              READ DOCUMENTATION
  2408.                              ------------------
  2409.  
  2410. Yes there is alot of documentation associated with MSGTOSS.  Make addition-
  2411. al copies for your livingroom, bathroom, bedroom, and work areas (just kid-
  2412. ding).   You  really need to grasp the total picture of how it all fits to-
  2413. gether,  and the only way to do this is to read it.   MSGTOSS is really not
  2414. one of those programs you can just un-arch,  find the BAT or EXE files, and
  2415. just enter it at the command line.  You can, however, just enter:
  2416.  
  2417.    MSGTOSS <rtn>
  2418.  
  2419. And a summary of the command line switches will appear.   You will appreci-
  2420. ate  it later when you try to figure out what command line switches to use.
  2421. For  now,  just  know that MSGTOSS <rtn> will provide some assistance at  a
  2422. later time, AFTER YOU READ THE DOCS!
  2423.  
  2424. Quite possibly every question you have is probably answered in the documen-
  2425. tation.  Remember... RTFM (read the *uckin manual).
  2426.  
  2427. Also,  don't overlook the MSGIDX.DOC integrated INDEX.  Should point you to
  2428. all  references for a given major subject.   Use it to get the most out  of
  2429. the documents.
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.                                   Page - 37
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.                              MSGTOSS Version 2.0
  2445.  
  2446.  
  2447.                          MODIFY SAMPLE MSGTOSS.CFG
  2448.                          -------------------------
  2449.  
  2450. Since you took heart to the last paragraph, you shouldn't have any problems
  2451. what-so-ever modifying your MSGTOSS.CFG file properly.  Most of the parame-
  2452. ters are already set up for you... Here are the critical ones you MUST mod-
  2453. ify (and understand) before continuing:
  2454.  
  2455.  
  2456.      CRITICAL MSGTOSS.CFG PARAMETERS
  2457.      -------------------------------
  2458.  
  2459.      Address related parameters
  2460.      --------------------------
  2461.      DOMAIN------>fidonet.org  1 C:\MAIL\nodelist
  2462.      NODE-------->1:343/36.0@fidonet
  2463.      POINTNET---->30174                  (only if you support points)
  2464.      REMAP------->1 Rich Englich         (only if you support points)
  2465.  
  2466.      NOTE: The NODE--------> parameter(s) are extremely critical,  as it is
  2467.            tied  to the MSGTOSS.BBS keyword 'NODE:x'.   You MUST thoroughly
  2468.            understand how these are linked.  Read MSGCFG.DOC and MSGBBS.DOC
  2469.            for more information.
  2470.  
  2471.      NOTE: The  DOMAIN------> parameter(s) point to where all of your Saint
  2472.            Louis Format nodelist(s) are.   These are used by MSGNLST.EXE to
  2473.            create MSGTOSS's proprietary nodelist called MSGTOSS.NOD.
  2474.  
  2475.      NOTE: The  POINTNET----> and REMAP-------> parmameters can be blank if
  2476.            you don't support points.
  2477.  
  2478.  
  2479.      Mail and File Forwarding authorizations
  2480.      ---------------------------------------
  2481.      MAILFROM---->1:343/* 8:918/*
  2482.      MAILTO------>1:343/* 8:918/*
  2483.      FILEFROM---->
  2484.      FILETO------>1:343/* 8:918/*
  2485.  
  2486.      NOTE: Only used for mail/file routing.   If you are not a hub, set all
  2487.            of these to simply ""  (blank),  meaning no routing.   If you do
  2488.            route,  thoroughly understand how you can shoot yourself in your
  2489.            pocketbook by incorrectly setting these <grin>.
  2490.  
  2491.      Sysop key names
  2492.      ---------------
  2493.      SYSALIAS---->SUPER TOSSER
  2494.      SYSNAME----->!MIKE ZAKHAROFF
  2495.      SYSNAME----->=SYSOP
  2496.  
  2497.      NOTE: The  FIRST  sequential  SYSNAME-----> must be your  FULL  public
  2498.            name,  preceded by an "!" (as above).   This is the name MSGTOSS
  2499.            will place in outgoing messages from the SYSOP.
  2500.  
  2501.      Miscellaneous directories
  2502.      -------------------------
  2503.  
  2504.                                   Page - 38
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  
  2510.                              MSGTOSS Version 2.0
  2511.  
  2512.      FILES------->C:\MAIL\FILES\
  2513.      OUTBOUND---->C:\OUTBOUND\
  2514.      WORKDIR----->L:\
  2515.  
  2516.      Two important RBBS message bases
  2517.      --------------------------------
  2518.      MESSAGES---->C:\RBBS\MESSAGES
  2519.      BLANKMSG---->C:\RBBS\BLANKM.DEF
  2520.  
  2521.      NOTE: If  you  are running MSGTOSS on a non-RBBS system (you are  only
  2522.            supporting  #.MSG messages),  then you MUST set both of these to
  2523.            ""  (blank).  An entry here tells MSGTOSS that you are running a
  2524.            full-blown RBBS system.
  2525.  
  2526.      Multi-tasking/network support
  2527.      -----------------------------
  2528.      LOCKTYPE---->NETBIOS
  2529.  
  2530.      RBBS purging related parameters
  2531.      -------------------------------
  2532.      YEAR-------->1992
  2533.  
  2534.      Duplicate checking related stuff
  2535.      --------------------------------
  2536.      MAXAREAS---->100
  2537.      DUPSIZE----->500
  2538.  
  2539.  
  2540. NOTE: The  above  critical parameters are in the same order as  the  sample
  2541.       MSGTOSS.CFG.   You  should attempt to understand all of the other pa-
  2542.       rameters (besides the above) too, as you will want to become familiar
  2543.       with them at a later date.
  2544.  
  2545.  
  2546. IF YOU ARE NOT RUNNING RBBS-PC
  2547. ------------------------------
  2548. If  you wish to use MSGTOSS for just its #.MSG support,  and don't need  or
  2549. care to use its exclusive RBBS-PC functions,  set the following MSGTOSS.CFG
  2550. parameters to blank:
  2551.  
  2552.      MESSAGES----->
  2553.      BLANKMSG----->
  2554.  
  2555. This  will tell MSGTOSS that you are strictly running a #.MSG system  (like
  2556. Qmail, Confmail, etc.).   Don't try using /LOCK.
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.                                   Page - 39
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.                              MSGTOSS Version 2.0
  2577.  
  2578.  
  2579.                          MODIFY SAMPLE MSGTOSS.BBS
  2580.                          -------------------------
  2581.  
  2582. Assuming you have read the MSGBBS.DOC file with great interest, you are now
  2583. ready  to modify the sample MSGTOSS.BBS file to suit your system.  You will
  2584. need to refer to MSGBBS.DOC constantly during modification, especially when
  2585. configuring the BBS keywords.
  2586.  
  2587. If you have no idea what an MSGTOSS.BBS "keyword" is, you should STOP here,
  2588. READ the MSGBBS.DOC, and continue on.
  2589.  
  2590. Here are some high-level basics, not intended to replace the reference man-
  2591. ual.   MSGBBS.DOC  is a pretty good reference,  and should answer any ques-
  2592. tions you have.   You MUST understand its concept,  as its more complicated
  2593. than  a regular AREAS.BBS file.   We will start with the RBBS message bases
  2594. first.
  2595.  
  2596. If you are already running RBBSMAIL,  CONFMAIL, or QMAIL,  simply copy your
  2597. existing AREAS.BBS file as MSGTOSS.BBS, and make the necessary changes.
  2598.  
  2599. For an RBBS message-base:
  2600.  
  2601. C:\RBBS\rbbsm.def    RBBS-PC    1:271/245    271/270 271 8:935/1 90:83/0
  2602.      ^                 ^           ^        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  2603.      |                 |           |                     |
  2604. Path to messagebase    |           |                     |
  2605.                        |           |                     |
  2606.                 AREA:TAG_NAME      |                     |
  2607.                                    |                     |
  2608.                         Who you Receive it from          |
  2609.                                                          |
  2610.                                                 Who YOU send it to, but
  2611.                                                 only if you are a HUB!
  2612.  
  2613. Examples:
  2614.  
  2615. C:\RBBS\lchatm.def      LCHATTER    271/245   271/250 271/300 6666/10
  2616. C:\RBBS\lovem.def       LOVELINE    271/245
  2617.  
  2618.  
  2619. A FIDO-style area (#.MSG):
  2620.  
  2621. C:\MAIL\LCHATTER\       LCHATTER    271/245   271/250 271/300 6666/10
  2622. C:\MAIL\LOVELINE\       LOVELINE    271/245
  2623.  
  2624. Notice  that the only difference between these two is that the first  entry
  2625. is a true sub-directory, ending with a trailing backslash.
  2626.  
  2627. Modify MSGTOSS.BBS for all areas you support on your system.
  2628.  
  2629.  
  2630. MSGTOSS has hard-coded AREAS with special names, these are:
  2631.  
  2632. NETMAIL    - Where non-echomail (Netmail) is tossed
  2633. UNKNOWN    - Where unidentified echomail is tossed 
  2634. ROUTETHRU  - Where Netmail (not addressed to your AKAs) are tossed
  2635.  
  2636.                                   Page - 40
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.                              MSGTOSS Version 2.0
  2643.  
  2644. MSGCAPTURE - Where "captured" echomail is tossed
  2645.  
  2646. NOTE: For all of the above special hard-coded areas,  separate directo-
  2647.       ries must be defined for each unique Domain/Zone, as indicated by
  2648.       your   ZONETYPE---->  entry  in  your  MSGTOSS.CFG.    Refer   to
  2649.       MSGCFG.REF for detailed information.
  2650.  
  2651. NOTE: The  AREAs  NETMAIL  and  UNKNOWN are required  for  all  MSGTOSS
  2652.       installations, where ROUTETHRU and MSGCAPTURE are optional.
  2653.  
  2654. See MSGBBS.DOC for additional information on these special areas.
  2655.  
  2656.  
  2657. As  detailed  in MSGBBS.DOC,  it is recommended that NETMAIL be a  "double-
  2658. tossed area" where you have both FIDO area (#.MSG) and an RBBS message base
  2659. (M.DEF).  Here is an example:
  2660.  
  2661. C:\RBBS\MAINM.DEF   NETMAIL    (no net/nodes listed!)
  2662. C:\MAIL\NETMAIL.001 NETMAIL    (no net/nodes listed!)
  2663.  
  2664. The area UNKNOWN should be a FIDO area, as follows:
  2665.  
  2666. C:\MAIL\UNKNOWN.001 UNKNOWN    (no net/nodes listed!)
  2667.  
  2668. NOTE: All areas except NETMAIL, UNKNOWN, ROUTETHRU & MSGCAPTURE should have
  2669.       at least one address present.
  2670.  
  2671.  
  2672.                     MODIFY DEFAULT MSGTOSS.BBS KEYWORDS
  2673.                     -----------------------------------
  2674.  
  2675. You must understand the concept of "keywords".   Read MSGBBS.DOC if you are
  2676. still confused as to what they are.  Setting them incorrect will thoroughly
  2677. screw things up!
  2678.  
  2679. The  following are the critical MSGTOSS.BBS keywords.   All other  keywords
  2680. can be left as-is for now, until you better understand them.
  2681.  
  2682.       NODE:xxxx RECS:xxxx, ESEC:xxxx, GATE:xxxx, FMAS:x, SECL:x, USRH:x
  2683.  
  2684.       NODE: Tied  to the MSGTOSS.CFG file.  NODE:1 would be the  first NODE
  2685.             address in your MSGTOSS.CFG file.  NODE:2 means second, etc.
  2686.  
  2687.             NOTE: The keyword is extremely critical if you belong to multi-
  2688.                   ple  zones/domains (Fidonet & Rbbs-Net),  as it is linked
  2689.                   to  MSGTOSS.CFG  NODE-------->  entries.    Changing  one
  2690.                   (without  changing the other) will probably screw  things
  2691.                   up.
  2692.  
  2693.       RECS: The number of records your message-base is using.  It is listed
  2694.             in  CONFIG Parameter # 165.  This one can be different for each
  2695.             message  area.  If  so you will need the size difference  above
  2696.             each message area.
  2697.  
  2698.             NOTE: This  is  probably the most important  keyword.   Setting
  2699.                   these   wrong  may  chop  your  message  bases  in  size.
  2700.                   Thoroughly read MSGBBS.DOC on this keyword for sure.
  2701.  
  2702.                                   Page - 41
  2703.  
  2704.  
  2705.  
  2706.  
  2707.  
  2708.                              MSGTOSS Version 2.0
  2709.  
  2710.  
  2711.             NOTE: When executing the /TEST function, MSGTOSS will report to
  2712.                   you  (bright white/red) whether you have any RECS:xxx set
  2713.                   improperly.
  2714.  
  2715.       ESEC: The security the messages are set to.  This is configurable for
  2716.             each area. If you have an Adult area that needs higher security
  2717.             levels  for  the messages put a -ESEC:20 in above the  message-
  2718.             base line.  BUT! Remember to set it back down to the lower lev-
  2719.             el,  or else all following areas will have the same higher lev-
  2720.             el.
  2721.  
  2722.       GATE: Use GATE:2  (always!)
  2723.  
  2724.       FMAS: Use FMAS:1  (unless you thoroughly understand it)
  2725.  
  2726.       SECL: Use SECL:1  (unless you thoroughly understand it)
  2727.  
  2728.       USRH: Use USRH:1  (U.DEFs with few (less than 100) users, else 0)
  2729.  
  2730. NOTE: Additional information on the above keywords exist in MSGBBS.DOC, and
  2731.       should be read (and understood) prior to configuring.
  2732.  
  2733. Again....   You  MUST read the purpose and function of all keywords so  you
  2734. can  get the most out of their capabilities.   Using the combination of the
  2735. sample MSGTOSS.BBS file,  MSGBBS.DOC, and common sense,  you will figure it
  2736. out.  Patience!
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.  
  2756.  
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.                                   Page - 42
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.                              MSGTOSS Version 2.0
  2775.  
  2776.  
  2777.                     CREATE MSGTOSS.NOD USING MSGNLST.EXE
  2778.                     ------------------------------------
  2779.  
  2780. MSGTOSS  creates  its own special nodelist called   MSGTOSS.NOD.   It  will
  2781. build  this table using the nodelists you specify in  your MSGTOSS.CFG file
  2782. after  the DOMAIN------>.   It will then look at each  listing and  display
  2783. information while it is executing.  If there is a problem  it will tell you
  2784. at the end. 
  2785.  
  2786. Example:   DOMAIN------>fidonet.org 1 C:\MAIL\NODELIST\nodelist
  2787.            DOMAIN------>rbbs-net.org 8 C:\MAIL\NODELIST\rbbslist
  2788.  
  2789. The above point to two sets of nodelists.   MSGNLST will only use the node-
  2790. lists that have the greatest extentions.  So if you have two nodelists (af-
  2791. ter parsing) as follows:
  2792.  
  2793.      RBBSLIST.007, RBBSLIST.014
  2794.  
  2795. MSGNLST will choose the 014 nodelist, and ignore the 007 (older) version.
  2796.  
  2797. Thoroughly  read  (and understand) MSGCFG.DOC section on DOMAIN------>  and
  2798. MSGSWI.DOC  on /NLST before continuing on.   Understand that compiling  the
  2799. MSGTOSS nodelist (MSGTOSS.NOD) should be done as part of your weekly nodel-
  2800. ist processing (nodediffs, etc.).  Somewhere in your batch file you need to
  2801. change  drive/directory back to where MSGTOSS.CFG is,  execute MSGNLST.EXE,
  2802. and then continue.
  2803.  
  2804. This is the common output (of MSGNLST.EXE) at the beginning.   The non-uni-
  2805. que net/nodes are normal operation.  You will see hundreds of them.
  2806. -------------------------------------------------------------------------
  2807. MsgNlst version 2.0+ -- Copyright 1992 Mike Zakharoff, Warren Muldrow
  2808. Enough memory is available for a maximum of 35606 nodes.
  2809. Processing domain:  fidonet     Node list:  C:\MAIL\NODELIST\nodelist.354
  2810.  
  2811. Non-unique net/node:  1:201/0@fidonet              2:201/0@fidonet
  2812. Non-unique net/node:  1:203/0@fidonet              2:203/0@fidonet
  2813. Non-unique net/node:  1:203/101@fidonet            2:203/101@fidonet
  2814. -------------------------------------------------------------------------
  2815.  
  2816. MSGTOSS.NOD is created by running either:
  2817.  
  2818.     MSGTOSS /NLST <rtn>     -- or --
  2819.     MSGNLST       <rtn>
  2820.  
  2821. It  will  then look for the DOMAIN and files that you have listed in   your
  2822. MSGTOSS.CFG  file.  If  it  is all correct it will return you  to  the  DOS
  2823. prompt  with  no errors.  It does display alot of NON-UNIQUE Node  numbers,
  2824. that is perfectly normal. It uses these to build itself an internal table.
  2825.  
  2826. If  you have errors it will probably be in your MSGTOSS.CFG.  Most   errors
  2827. are  because  it couldn't find the nodelist files.  This is  corrected   by
  2828. changing the DOMAIN path and filename to the correct one.
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.                                   Page - 43
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.                              MSGTOSS Version 2.0
  2841.  
  2842.  
  2843.                              TEST SYSTEM SETUP
  2844.                              -----------------
  2845.  
  2846. MSGTOSS has a built in test switch that allows you to test your setup.   It
  2847. will  show  you  any problems that you have or any  setup  parameters  that
  2848. might  have been messed up.   It will test your files that can be open  and
  2849. all  message-bases and give you a summary of all RBBS message bases. If you
  2850. are  getting weird data out of a message base, you should run FIXMSG.EXE on
  2851. the   message base.   If it still does not fix it,  delete the message base
  2852. and  create a new one.
  2853.  
  2854. NOTE: See MSGSWI.DOC for more information on /TEST.
  2855.  
  2856.  
  2857. ENTER the command:
  2858.  
  2859.           MSGTOSS /TEST                           
  2860.  
  2861.      What you should see....
  2862. -------------------------------------------------------
  2863. /TEST
  2864. Initializing - MSGTOSS.CFG
  2865. Initializing - No File Locking Active
  2866. Initializing - MSGTOSS.BBS oooooooooooooooooooooooooooo
  2867. -------------------------------------------------------
  2868.  
  2869. If  you have a problem in this area it probably be with your MSGTOSS.CFG or
  2870. you  MSGTOSS.BBS files.   The errors messages should be good enough for you
  2871. to understand the problem.  If not ... yes ... read some more docs!
  2872.  
  2873.  
  2874. The next set of display items is be these.
  2875. -------------------------------------------------------
  2876. Unique NET/NODE Index: 1   - 1:271/270@fidonet
  2877. Unique NET/NODE Index: 2   - 1:271/271@fidonet
  2878. .....
  2879. Unique NET/NODE Index: 37  - 65:511/1@ournet
  2880. Unique NET/NODE Index: 38  - 65:511/236@ournet
  2881. Unique Nodes Detected - 38  Minimum FILES=XX is 49
  2882. Max nodes for single area is 22
  2883.  
  2884. Default Origin line:
  2885.  * Origin: Virginia Data Exchange (804)877-3539 -2-Lines- FREE(Address)
  2886.  
  2887. Press any key for file handle test
  2888. --------------------------------------------------------
  2889. MSGTOSS is looking at your nodes and feeds to see if everything is correct.
  2890. You need to look at each UNIQUE NET/NODE and make sure this are valid areas
  2891. that  you have or you send mail to.  If there is something wrong with these
  2892. address,  then you probably have something wrong in your  MSGTOSS.BBS file.
  2893. If so, go back and redo steps 3, 4, 5 and 6.
  2894.  
  2895. This  step also gives you an IMPORTANT piece of information.  It tells  you
  2896. how  many  more  FILES are going to be needed for your  MSGTOSS  operation.
  2897. Above it says Minimum FILES=XX is 49.  What this means is to run MSGTOSS on
  2898. a  non  multitasking system that is the most files that will be  opened  at
  2899.  
  2900.                                   Page - 44
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.                              MSGTOSS Version 2.0
  2907.  
  2908. once.  But  if  you run other windows you will need to increase  your  CON-
  2909. FIG.SYS by this number.
  2910.  
  2911.  
  2912. THE NEXT SCREEN will be the file handling test.
  2913. ---------------------------------------------------------
  2914. Opening test file 1
  2915. ...
  2916. Opening test file 42
  2917. Opening test file 43
  2918. Opening test file 44
  2919.  
  2920. Any key for DUPFILE test
  2921.    May create MSGTOSS.EID during this phase (if CDUP:1 was found)
  2922.    .....
  2923. Any key to for statistics
  2924. ----------------------------------------------------------
  2925.  
  2926. This  is another potential area for errors.  MSGTOSS is making sure it  can
  2927. open all the files it needs for maximum operation.   If you multi-task, you
  2928. will  probably need additional file handles,  over and above to recommended
  2929. values shown.  All you need to do is increase the size of your CONFIG.SYS.
  2930.  
  2931. THE NEXT SCREEN. MSGTOSS will give you statistics on each RBBS messagebase.
  2932.  
  2933. ----------------------------------------------------------
  2934. Name    Usr  N Lvl Recs  Used Free Full Msgs  Msg  Msg Size  Cap  Msg   Msg
  2935. ------- --- -- --- ---- ----- ---- ---- ---- ---- ---- ---- ---- ---- -----
  2936. IBM     486  4   0 2505  1563  942   62  500 1003  472  3.3  757 1003 10-09
  2937. MAC      66  4   0 1024   691  333   67  204  404  119  5.8  176  404 11-16
  2938. APPLES   13  4   0 2464  2178  286   88  492  259  259  8.4  293  259 12-09
  2939. AMIGAEC  16  4   0 6352  4329 2023   68  999  445  445  9.7  653  445 12-11
  2940. AMIGAME  12  4   0 1392   946  446   68  278  220  220  4.3  324  220 12-23
  2941. ATARI-8   4  4   0  992   670  322   68  198  521   90  7.4  133  521 12-16
  2942. ... etc.
  2943. ---------------------------------------------------------------------------
  2944. Tot:There are 14106 messages in 73 areas averaging 5.7 records per message.
  2945.     The 14.4 Mb allocated should hold 20474 total messages.
  2946.     There are 37203 unused records out of 118167 allocated.
  2947. ----------------------------------------------------------
  2948.  
  2949. This  screen  is very useful in determining what the status is on all  your
  2950. RBBS messagebases.  If you get weird numbers like -.9854 or any negative or
  2951. fractions. You probably have a corrupted message base. It might still work,
  2952. but  the header information is bad.  Try using FIXMSG.EXE on those messages
  2953. to fix them.  If that doesn't work delete them and rebuild them.
  2954.  
  2955. During the /TEST display, MSGTOSS will pause every 23 lines allowing you to
  2956. view  the message bases.   In addition,  if any of your MSGTOSS.BBS REC:xxx
  2957. keywords don't match the actual size of the message bases, MSGTOSS will re-
  2958. port  to you (white on red) the fact that this error exists.   The messages
  2959. is  placed  in the right-hand corner of the status line.   The error  would
  2960. look similar to this:
  2961.  
  2962. APPLES   13  4   0 2464  2178  286   88  492  259  259  8.4  293  RECS:500
  2963.                                                                   ^^^^^^^^
  2964.                                                                  White/Red
  2965.  
  2966.                                   Page - 45
  2967.  
  2968.  
  2969.  
  2970.  
  2971.  
  2972.                              MSGTOSS Version 2.0
  2973.  
  2974.  
  2975. In  this case,  MSGTOSS is complaining that the actual size of the  message
  2976. base is 2464,  but your RECS:xxx value is set to 500.   If you get this er-
  2977. ror,  fix the appropriate RECS:xxx keyword for these message bases.  If the
  2978. RECS:xxxx value is correct (what you really want it to be), then execute:
  2979.  
  2980.      MSGTOSS /SIZE-UP ...... other switches
  2981.  
  2982. Then  MSGTOSS  will size your message bases (using smart-purging)  so  that
  2983. your message bases MATCH the value set for RECS:xxx.
  2984.  
  2985. NOTE: This is how easy it is to control the sizes of your message bases (no
  2986.       more  need to use CONFIG!).   Simply adjust the appropriate RECS:xxxx
  2987.       keyword(s),  and execute the /SIZE-UP command line switch.   For more
  2988.       information  on  sizing  your message bases,  see  MSGSWI.DOC  (/SIZE
  2989.       switches) and MSGBBS.DOC (on RECS:xxx).
  2990.  
  2991.     *************************** IMPORTANT ****************************
  2992.     * You should run the /TEST until all errors are gone and your    *
  2993.     * FILES=XX in your CONFIG.SYS is corrected and all of your RBBS  *
  2994.     * message-bases are corrected. You can also use the stats infor- *
  2995.     * mation to determine -RECS:xxxx is correct in your MSGTOSS.BBS  *
  2996.     * file.                                                          *
  2997.     ******************************************************************
  2998.  
  2999.  
  3000.  
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.                                   Page - 46
  3033.  
  3034.  
  3035.  
  3036.  
  3037.  
  3038.                              MSGTOSS Version 2.0
  3039.  
  3040.  
  3041.                              MAIL TOSSING TEST
  3042.                              -----------------
  3043.  
  3044. Assuming  the  /TEST preliminary tests went ok,  place a small mail  packet
  3045. (*.PKT)  into  your  first  FILES------->  directory  (As  listed  in  your
  3046. MSGTOSS.CFG FILE)  and test the tossing using....
  3047.  
  3048. MSGTOSS /TOSS /PREP <rtn>
  3049.  
  3050. Did  it work?  If it didn't work....  try to determine the part that failed
  3051. and  go to that step and redo it.  Then try again.  A good understanding of
  3052. how  MSGTOSS works should help you understand what may have gone wrong.  So
  3053. if you can't get it to work correctly,  consult the MSGTOSS THEORY section,
  3054. along with MSGCFG.DOC, MSGBBS.DOC and MSGSWI.DOC.
  3055.  
  3056.  
  3057.                              MAIL SCANNING TEST
  3058.                              ------------------
  3059.  
  3060. If  everything  prior  to this has work properly  (hallelujah!),  then  the
  3061. scanning  test should be a piece of cake.   Try entering the following com-
  3062. mand at the DOS prompt....
  3063.  
  3064. MSGTOSS /SCAN /RBBS /FIDO <rtn>
  3065.  
  3066. Did  it  recognize all of your message bases?   It should  have,  if  /TEST
  3067. passed ok.  See MSGSWI.DOC on /SCAN for more information on this.
  3068.  
  3069. You can experiment by entering test messages into  RBBS message bases,  and
  3070. seeing  the  result.   A *.OUT file should have been created in  your  OUT-
  3071. BOUND--->  directory  to your host for the test message.   Now you need  to
  3072. pack it up.
  3073.  
  3074.  
  3075.  
  3076. PACK UP MAIL
  3077. ------------
  3078.  
  3079. For Binkley-type systems,  Ommm (version 1.5+ recommended) is normally used
  3080. to pack up (and archive) the *.OUT files.
  3081.  
  3082. If using Frontdoor,  or other types of file-attach mailers, you need to ob-
  3083. tain  a packer named MAKEARC (other types are available).   Its function is
  3084. to  convert  the *.OUT files created by programs like MSGTOSS and create  a
  3085. file attached message for these files.  See example FRONTD.SET for more in-
  3086. formation on using Frontdoor and MSGTOSS.
  3087.  
  3088. The packer is normally executed after a /SCAN operation.
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.                                   Page - 47
  3099.  
  3100.  
  3101.  
  3102.  
  3103.  
  3104.                              MSGTOSS Version 2.0
  3105.  
  3106.  
  3107.                            COMMAND LINE SWITCHES
  3108.                            ---------------------
  3109.  
  3110. MSGTOSS provides alot of command line switches, for each major command line
  3111. switch.   You may  want  to  experiment  using  the  other  common  command
  3112. line switches, such as /DDA etc.
  3113.  
  3114. Read MSGSWI.DOC for the full array of command line switches available.  An-
  3115. other quick source for command line switches is simply entering at your DOS
  3116. prompt:
  3117.  
  3118.    MSGTOSS <rtn>   --or--   MSGHELP <rtn>
  3119.  
  3120. Provides  a summary of all of the command line switches for all major  com-
  3121. mand line switches,  along with other references,  such as a listing of the
  3122. MSGTOSS.BBS keywords,  errorlevel semaphore files, meta-commands, etc.  Use
  3123. it for a quick reference, but for more information, consult the appropriate
  3124. reference manuals.
  3125.  
  3126.          1) Toss RBBS, FIDO & NETMAIL messages -------> /TOSS
  3127.          2) Scan (export) new locally entered mail ---> /SCAN
  3128.          3) SIZE message bases to preset RECS:xxx ----> /SIZE
  3129.          4) Reset users Mailwaiting Bit (all msgs) ---> /MWRST
  3130.          5) Report on message base statistics --------> /STAT
  3131.          6) Test MsgToss Setup Configuration ---------> /TEST
  3132.          7) Wait for users, create MSGWAIT.BAT file --> /WAIT
  3133.          8) Globally execute xxx for all msg bases ---> /GLOB:xxx
  3134.          9) Recompile the node list (MSGTOSS.NOD) ----> /NLST
  3135.         10) Execute MSGEID.EXE - EID Database Maint --> /EID
  3136.         12) MSGTOSS.CMD metacommands - (no slashes) --> xxx
  3137.         13) MSGTOSS.BBS Tossing Configuring Keywords -> xxx
  3138.         14) MSGTOSS DOS ErrorLevel Codes -------------> Errorlevels
  3139.  
  3140. It  is recommended that you re-set all of your mailwaiting bits by  issuing
  3141. the  /MWRST major switch at least weekly during MSGTOSS operation.   Try it
  3142. right now, as follows (but first read the /MWRST section in MSGSWI.DOC):
  3143.  
  3144.    MSGTOSS /MWRST <rtn>
  3145.  
  3146. Great!   Maybe  now  you can adjust all of the sizes of your  RBBS  message
  3147. bases by issuing:
  3148.  
  3149.                             ******  WAIT! ******
  3150.  
  3151. Do you throughly understand the purpose of the /SIZE switch(es)?   You MUST
  3152. make  sure all of your RECS:xxxx entries in your MSGTOSS.BBS file correctly
  3153. match your RBBS message bases (or you have them set to your wishes).   Bet-
  3154. ter  re-read  the /SIZE section of MSGSWI.DOC before issing  the  following
  3155. command.
  3156.  
  3157.    MSGTOSS /SIZE (or /SIZE-UP)
  3158.  
  3159. After  you see their power,  you will appreciate how easy it is to maintain
  3160. tight control of size of your message bases.
  3161.  
  3162.  
  3163.  
  3164.                                   Page - 48
  3165.  
  3166.  
  3167.  
  3168.  
  3169.  
  3170.                              MSGTOSS Version 2.0
  3171.  
  3172.  
  3173.                           BATCH FILE MODIFICATION
  3174.                           -----------------------
  3175.  
  3176. This  assumes  that you have decided that MSGTOSS is  the   greatest   RBBS
  3177. tossing  utility  you have ever seen,  and are going to commit it to   your
  3178. system for full-time operation.
  3179.  
  3180.  
  3181. Using  the  following batch file excerpt as a guide,  test MSGTOSS to  make
  3182. sure  it  works as stated.  It is highly recommended that you set up   some
  3183. sort of 'TEST-JIG' batch file to convince yourself that it works.
  3184.  
  3185.  
  3186. Here  is  an example.  Note that this can take on many different forms  and
  3187. this is just a PORTION of the batch file.
  3188.  
  3189.  
  3190. WARNING!: Save  your  old setup,  incase you can't seem to get MSGTOSS   to
  3191.           work  properly,  its 2:00 am,  and you are  expecting  a  1   meg
  3192.           packet any minute. In other words, don't  shoot  yourself  in the
  3193.           foot.  REM  out your existing batch  file  commands  FIRST,  then
  3194.           when  you are satisfied MSGTOSS is working perfect,   then remove
  3195.           the old batch file lines (after a week).
  3196.  
  3197.  
  3198.                              PACKET UNARCHIVING
  3199.                              ------------------
  3200.  
  3201. SPAZ INFO - Command to issue to unarchived mail packets. Recommended
  3202.             to use SPAZ.COM, can handle ZIP, LHARC, ARC etc.
  3203.  
  3204.             SPAZ -F  C:\MAIL\FILES    C:\MAIL\FILES\
  3205.                      -------------    ----------------------------
  3206.                      Incoming Mail    Where PKTS go for processing
  3207.  
  3208.                      NOTE!! --> Where trailing back-slashes are!
  3209.  
  3210.             NOTE: MSGTOSS  looks in the directory(s)  specified by  the FI-
  3211.                   LES------>   parameter(s)  for  PKTs.    Therefore,   the
  3212.                   C:\MAIL\FILES\ SHOULD match the FILES------> entry.
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.                                   Page - 49
  3231.  
  3232.  
  3233.  
  3234.  
  3235.  
  3236.                              MSGTOSS Version 2.0
  3237.  
  3238.  
  3239.                              BATCH FILE EXAMPLE
  3240.                              ------------------
  3241.  
  3242. ECHO OFF
  3243.  
  3244. :START
  3245.    C:
  3246.    CD\MAILER
  3247.    Execute Binkley, Frontdoor, whatever..
  3248.    If errorlevel XX Goto RECMAIL
  3249.    If errorlevel XX Goto SCAN
  3250.    If errorlevel XX Goto DAILY
  3251.    Goto START
  3252.  
  3253.  
  3254. :RECMAIL
  3255.    C:
  3256.    CD\MSGTOSS
  3257.    MSGUNPK C:\FILES\ C:\FILES\   (or SPAZ, etc.)
  3258.    MSGTOSS /TOSS /PREP
  3259.    If exist C:\FILES\NODEDIFF.A* Goto NODELIST
  3260.    Goto START
  3261.  
  3262. :SCAN
  3263.    C:
  3264.    CD\MSGTOSS
  3265.    MSGTOSS /SCAN /RBBS /FIDO
  3266.    ommm, makearc, qmail -pack, etc.
  3267.    REM
  3268.    REM  Ommm for Binkley, Makearc for Frontdoor
  3269.    REM
  3270.    Goto START
  3271.  
  3272. :NODELIST
  3273.    C:
  3274.    CD\NODELIST
  3275.    SYSNL ....  whatever
  3276.  
  3277.    CD\MSGTOSS        \
  3278.    MSGTOSS /NLST      >  Added to nodelist processing!
  3279.    CD\NODELIST       /
  3280.  
  3281.    FINISH ...
  3282.    Goto START
  3283.  
  3284. :DAILY
  3285.    C:
  3286.    CD\MSGTOSS
  3287.    MSGTOSS /SIZE
  3288.    Goto SCAN
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.                                   Page - 50
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302.                              MSGTOSS Version 2.0
  3303.  
  3304.  
  3305.                                    HELP!
  3306.                                    -----
  3307.  
  3308. Help  is available in the "RBBS_MSGTOSS"  echo (Rbbs-Net) and the "RBBC-PC"
  3309. echos (Fidonet & Rbbs-Net).  In addition, the following beta testers may be
  3310. able to help you as well.   Ruediger Fuchs is of special mention,  as he is
  3311. on the other side of the pond (Europe).
  3312.  
  3313.  
  3314.                             MSGTOSS BETA TESTERS
  3315.       +--------------------------------------------------------------+
  3316.       | Jeff Cameron     1:3802/212    The Beanery BBS               |
  3317.       | Jeff Cameron     8:928/105     The Beanery BBS               |
  3318.       | Benny Carr       8:952/25      New Woodstk RBBS              |
  3319.       | Ruediger Fuchs   2:245/32      E.De.Ka.- PC Mail             |
  3320.       | Ruediger Fuchs   8:996/1       E.De.Ka.- PC Mail             |
  3321.       | Craig Gagner     1:3626/1      The TACRBBS                   |
  3322.       | Craig Gagner     8:928/102     TACRBBS-PC                    |
  3323.       | Bill Hamel       1:273/308     T.T.C RBBS-PC                 |
  3324.       | Bill Hamel       8:952/5       T.T.C RBBS-PC                 |
  3325.       | Ken Humrich      8:914/701     Nwonknu Hq                    |
  3326.       | Tim Jacobs       1:271/271     Virginia Data Exchange 2400   |
  3327.       | Tim Jacobs       8:935/110     Virginia Data Exchange 2400   |
  3328.       | Warren King      1:275/429     HandiNet B B S                |
  3329.       | John Kihl        1:129/119     E*COM                         |
  3330.       | John Kihl        8:928/104     E*COM                         |
  3331.       | Lawrence Kolada  1:327/452     The Plainfield News           |
  3332.       | Lawrence Kolada  8:909/3       The Plainfield News           |
  3333.       | Jan Maaskant     1:387/255     NUL                           |
  3334.       | Jan Maaskant     8:931/1       NUL                           |
  3335.       | Rick Moen        1:125/27      The Speptic's Board           |
  3336.       | Rick Moen        8:914/207     The Speptic's Board           |
  3337.       | Bob Moravsik     1:2606/583    Atrium Way                    |
  3338.       | John Morris      8:919/1       The Abandoned Land I          |
  3339.       | Mark Simmons     1:121/16      Romany RBBS-PC                |
  3340.       | Mark Simmons     8:972/1       Romany RBBS-PC                |
  3341.       | Robert Stahl     1:246/16      Crystal Marine RBBS-PC        |
  3342.       | Robert Stahl     8:952/161     Crystal Marine RBBS-PC        |
  3343.       | Stan Staten      1:109/418     3 WINKs BBS                   |
  3344.       | Stan Staten      8:936/105     3 WINKs BBS                   |
  3345.       | Ray Waechter     1:273/303     KEYSTONE Net Exchange         |
  3346.       | Ray Waechter     8:952/22      BusiLink (tm) Main Man        |
  3347.       | Michael Walsh    1:273/917     Walsh MicroSystems            |
  3348.       | Michael Walsh    8:952/14      Walsh MicroSystems RBBS-PC    |
  3349.       | Jim Wargula      1:121/8       JW-PC DataFlex.HST            |
  3350.       | Jim Wargula      8:972/2       JW-PC Dataflex                |
  3351.       | Dave West        1:129/201     Info Exchange RBBS-PC #1      |
  3352.       | Dave West        8:928/301     Info Exchange RBBS-PC #1      |
  3353.       | Adam Zivitz      1:273/708     Garden of Eden                |
  3354.       +--------------------------------------------------------------+
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362.                                   Page - 51
  3363.  
  3364.  
  3365.  
  3366.  
  3367.  
  3368.                              MSGTOSS Version 2.0
  3369.  
  3370.  
  3371.                    MSGTOSS BETA DISTRIBUTION MATRIX
  3372.                    --------------------------------
  3373.  
  3374. A  private echo called "MSGBETA"  exists on the RBBS-NET backbone where
  3375. beta  development  is discussed and files are distributed.   The  below
  3376. represents the distribution system in-place for beta copies of MSGTOSS.
  3377. Note that not all of these systems utilize MSGTOSS.
  3378.  
  3379.  
  3380.     Mike Zakharoff                       1:138/154   (8:918/10)
  3381.     Warren Muldrow                       1:3617/1    (8:928/1) Pvt Nodes
  3382.     Craig Gagner                         1:3626/1    (8:928/102)
  3383.         +-- Ruediger Fuchs               2:245/32    (8:996/1)
  3384.         +-- Charles Arden                1:343/81    (8:918/11)
  3385.         +-- Tyronne Foy                  1:264/152   (8:928/103)
  3386.         +-- Jeff Cameron                 1:3802/212
  3387.         +-- John Kihl                    1:129/119
  3388.         +-- Nathan Barber                1:366/3     (8:925/101)
  3389.         +-- Bob Dunagan                  1:3617/5    (8:928/5)
  3390.         +-- Ray Waechter                 1:273/302   (8:952/1)
  3391.             +-- Tim Jacobs               8:935/110   (1:271/270)
  3392.             +-- Bob Moravsik             1:269/583
  3393.             +-- Stan Staten              1:109/418   (8:936/105)
  3394.             +-- Larry Kolada             1:327/452   (8:909/3)
  3395.             +-- Richard Couture          8:914/201   (1:125/41)
  3396.             |   +-- Rod Bowman           8:8/0       (1:10/8)
  3397.             |   |   +-- Mark Simmons     8:972/1
  3398.             |   |       +-- Jim Wargula  8:972/2     (1:121/8)
  3399.             |   +-- Rick Moen            8:914/207   (1:125/27)
  3400.             +-- Jan Maaskant             8:931/1     (1:387/255)
  3401.             +-- Bob Stahl                8:952/16
  3402.             +-- Michael Walsh            8:952/14    (1:273/917)
  3403.             +-- Dave West                8:952/12    (1:129/201)
  3404.             +-- Benny Carr               8:952/25
  3405.             +-- John Bixler              8:952/15
  3406.             +-- Bill Hamel               8:952/5
  3407.             +-- John Morris              8:919/1
  3408.             +-- Rob Keown                8:952/81    (1:273/718)
  3409.  
  3410.  
  3411.  
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418.  
  3419.  
  3420.  
  3421.  
  3422.  
  3423.  
  3424.  
  3425.  
  3426.  
  3427.  
  3428.                                   Page - 52
  3429.  
  3430.  
  3431.  
  3432.  
  3433.  
  3434.                              MSGTOSS Version 2.0
  3435.  
  3436.  
  3437.                                    ERRORS
  3438.                                    ------
  3439.  
  3440. MSGTOSS  will  (if it encounters a severe error while processing  a   *.PKT
  3441. file)  delete  the corresponding *.IDX file,   and  rename  the  *.PKT   to
  3442. *.BAD to prevent MSGTOSS from processing it again. You may want to test for
  3443. the condition of *.BAD in you batch file to alert you.
  3444.  
  3445. In  addition,  MSGTOSS  will (whenever possible)  continue  on   processing
  3446. even  though  it came upon a severe error.  MSGTOSS creates a   MSGTOSS.ERR
  3447. file that contains things it couldn't handle, but processed anyway  (or ig-
  3448. nored),  like trashed message headers, severe errors, etc. Again,   you may
  3449. want  to test for the existence of MSGTOSS.ERR as part of your batch  file.
  3450. MSGTOSS.ERR should be reviewed periodically.
  3451.  
  3452. If you keep extremely large message bases  over  4000  (RBBS-MAX  *  4) re-
  3453. cords, it is possible for your message bases to  exceed  the  RBBS-PC maxi-
  3454. mum  of 999 (RBBS-MAX) messages per message base.  Therefore  MSGTOSS  will
  3455. do   a  "pre-count"   of  the  messages  prior  to  tossing.    This  "pre-
  3456. count"  is  automatic  and is triggered only when MSGTOSS senses  the  over
  3457. 4000 record (RBBS-MAX * 4) message base.
  3458.  
  3459. In the event of an "overflow",  MSGTOSS will not allow any more messages to
  3460. be imported into the message base,   but  will  allow  other  message bases
  3461. to be processed as normal.  After the *.PKT  is  tossed  normally,  MSGTOSS
  3462. will  re-name the *.PKT to *.OFL  (for  overflow)  and  log  the occurrence
  3463. of  the overflow into the MSGTOSS.LOG and  MSGTOSS.ERR  files.   The  sysop
  3464. can  then  elect to fix the overflow problem,  or simply  delete the  *.OFL
  3465. file.    Tossing  of  selected  echoes  are  possible  via  the /AREA: com-
  3466. mand line switch(es) (see /AREA: & /AREAF:" switch).
  3467.  
  3468. NOTE: It should be noted that the possibility of an overflow is less likely
  3469.       in MSGTOSS 2.0 vice earlier versions.  See SLAK:xxx bbs keyword.
  3470.  
  3471. MSGTOSS 2.0 was beta tested to the hilt,  almost 2 years!   However,  there
  3472. still is  a  possibility of receiving a *.PKT file that is beyond the capa-
  3473. bility of MSGTOSS to process.  If you are a supporter of MSGTOSS,  send the
  3474. *.PKT  to me for analysis and a possible fix. If you are a non-supporter, I
  3475. may  be interested,  but don't expect me to bend over backwards to fix your
  3476. problem.   Future upgrades and enhancements DEPEND on the amount of support
  3477. I  receive.
  3478.  
  3479.  
  3480.  
  3481.  
  3482.  
  3483.  
  3484.  
  3485.  
  3486.  
  3487.  
  3488.  
  3489.  
  3490.  
  3491.  
  3492.  
  3493.  
  3494.                                   Page - 53
  3495.  
  3496.  
  3497.  
  3498.  
  3499.  
  3500.                              MSGTOSS Version 2.0
  3501.  
  3502.  
  3503.                           PERFORMANCE OPTIMIZATION
  3504.                           ------------------------
  3505.  
  3506. Here are a few tips to make your mail events as fast as possible.
  3507.  
  3508.   1) Use a disk cache! Even just a 64K cache makes a BIG difference!
  3509.  
  3510.   3) Use the SECL:1 keyword. Can ONLY be used with the FMAS:1 switch.
  3511.  
  3512.   4) Use the /NSTOP and /DDA  switches, will  also  speed  up MSGTOSS.
  3513.  
  3514.   5) Consider  NOT  using the automatic DUP checker (CDUP:1  keyword).   If
  3515.      your hub faithfully checks for dups then it may not be necessary.
  3516.  
  3517.   6) Use  a   RAM  DISK with  the  /WDIR   (work  directory)  command  line
  3518.      switch. The RAM  disk  is  configured  by the WORKDIR---> parameter in
  3519.      the MSGTOSS.CFG file.   Will speed  up purging, mailwaiting,  sizing &
  3520.      tossing).
  3521.  
  3522.   7) The  Use of a  disk  de-fragmentor  is NOT CRITICAL,  as MSGTOSS  does
  3523.      not fragment message bases!   Its pack-in-place purging technique pre-
  3524.      vents this from happening.  However, it doesn't hurt.
  3525.  
  3526.   8) Keep  your  conference USERS file(s) small (mine have  ONLY  32   user
  3527.      records!)  and purge them after so many months of  inactivity.   If  a
  3528.      user   decides  to  browse  the  conference  but  doesn't  enter  mes-
  3529.      sages;  MSGTOSS will slow down because it will be looking for messages
  3530.      to/from  that inactive user.  You can set up a daily MU-PURGE  control
  3531.      file to do this. Here is an example of mine:
  3532.  
  3533.           users        /USR:D365 LOG /10 /25
  3534.           commu.def    /USR:D30  LOG /40 /60
  3535.           consultu.def /USR:D30  LOG /40 /60
  3536.           c_prgmu.def  /USR:D30  LOG /40 /60
  3537.  
  3538.      Notice  that they get BOOTED out of the conference if they haven't en-
  3539.      tered it in over 30 days.  In addition,   once  they  are  purged then
  3540.      any  messages that they left or  are  waiting  will  also  be  purged.
  3541.      All  of  my  'U.DEF'   files  are  only  4096  bytes, good for only 32
  3542.      users (I haven't run out of room yet).
  3543.  
  3544.   9) Avoid the /FEED switch (unless you feed nodes)
  3545.  
  3546.  10) Use the MSGTOSS.BBS keyword USRH:0 whenever you have large user bases.
  3547.  
  3548.  11) You can use the /PREX (pre-expand) option,  and chop the message bases
  3549.      at night using the /SIZE switches.
  3550.  
  3551.  12) For  multi-tasking/networking,  use the smallest value of LOCKWAIT--->
  3552.      you can get away with without affecting your users.
  3553.  
  3554.  13) Avoid the message "capturing"  feature of MSGTOSS 2.0,  will slow down
  3555.      the analyzing phase.
  3556.  
  3557.  14) Avoid the HIST:x keyword.  WIll slow down purging
  3558.  
  3559.  
  3560.                                   Page - 54
  3561.  
  3562.  
  3563.  
  3564.  
  3565.  
  3566.                              MSGTOSS Version 2.0
  3567.  
  3568.  
  3569.                      MODIFY RBBSSUB2.BAS TO SUPPORT /MUSER:X
  3570.                      ---------------------------------------
  3571.  
  3572. The following code provides a means of modifying the  WHOSON routine of
  3573. RBBS-PC  allowing  a user to see the last  MSGTOSS execution status  by
  3574. entering  the "[W]ho else is on"  function on RBBS's main   menu,  even
  3575. though MSGTOSS is actually off-line.  During a /TOSS, MSGTOSS will mod-
  3576. ify  its own node record (as defined by /MUSER:x) as it passes  through
  3577. its  various tossing phases.   A user will be able to see it working by
  3578. entering [W]ho, but when MSGTOSS goes off-line a user will see "Waiting
  3579. for next caller".  This modification will allow a user to see the other
  3580. node  records,  including the MSGTOSS node record.   For  more informa-
  3581. tion, see MSGSWI.DOC.
  3582.  
  3583. Code segment provided by:
  3584. Michael Walsh (NHUB/NC Philadelphia Metro (FidoNet)
  3585.  
  3586. Modification for RBBSSUB2.BAS (WHOSON:9801)
  3587.  
  3588.      SUB WhosOn (NumNodes) STATIC
  3589.      WasA1$ = ZActiveMessageFile$
  3590.      ZActiveMessageFile$ = ZOrigMsgFile$
  3591.      CALL OpenMsg
  3592.      FIELD 1, 128 AS ZMsgRec$
  3593.      FOR NodeIndex = 2 TO NumNodes + 1
  3594.         ........
  3595.         ........ code shortened
  3596.         ........
  3597.         IF MID$(ZMsgRec$,40,2) <> "-1" THEN _
  3598.            WasAX$ = WasAX$ + ZFG4$ + MID$(ZMsgRec$,93,22)
  3599.         IF MID$(ZMsgRec$,57,1) = "A" THEN _
  3600.            ZOutTxt$ = ZOutTxt$ + "  Online at " + _
  3601.                 WasAX$ _
  3602.         ELSE IF NOT ZSysop THEN _                   \
  3603.                 ZOutTxt$ = ZOutTxt$ + _              > Delete these!
  3604.                      " Waiting for next caller" _   /
  3605.              ELSE ZOutTxt$ = ZOutTxt$ + _
  3606.                        " Offline at " + _
  3607.                        WasAX$
  3608.         CALL QuickTPut1 (ZOutTxt$)
  3609.         CALL AskMore ("",ZTrue,ZTrue,ZAnsIndex,ZFalse)
  3610.         IF ZNo THEN _
  3611.            NodeIndex = NumNodes + 2
  3612.      NEXT
  3613.      ZActiveMessageFile$ = WasA1$
  3614.      CALL QuickTPut (ZEmphasizeOff$,0)
  3615.      END SUB
  3616.  
  3617. What it winds up looking like on a 4 node system running RBBS-PC V17.3C:
  3618.  
  3619. Node 1 Offline at  2400 BPS: JOSEPH GARECHT            NORRISTOWN, PA
  3620. Node 2  Online at  9600 BPS: SYSOP                     PHILADELPHIA, PA
  3621. Node 3 Offline at   300 BPS: MsgToss 2.0 - Mail System Last: 01-18 23:42:31
  3622. Node 4 Offline at   300 BPS:
  3623.  
  3624.  
  3625.  
  3626.                                   Page - 55
  3627.  
  3628.  
  3629.  
  3630.  
  3631.  
  3632.                              MSGTOSS Version 2.0
  3633.  
  3634.  
  3635.                                    EPILOG
  3636.                                    ------
  3637.  
  3638. MSGTOSS   took  1000's  of hours to develop and test and I believe it to be
  3639. one of the finest  mail processors in the Fidonet community,  and most cer-
  3640. tainly  for  RBBS-PC.   If  you  use  this program then please help support
  3641. it.   Show  your  support by registering this  program.   Meanwhile,  happy
  3642. BBSing!   Mike
  3643.  
  3644.  
  3645.  
  3646.  
  3647.  
  3648.  
  3649.  
  3650.  
  3651.  
  3652.  
  3653.  
  3654.  
  3655.  
  3656.  
  3657.  
  3658.  
  3659.  
  3660.  
  3661.  
  3662.  
  3663.  
  3664.  
  3665.  
  3666.  
  3667.  
  3668.  
  3669.  
  3670.  
  3671.  
  3672.  
  3673.  
  3674.  
  3675.  
  3676.  
  3677.  
  3678.  
  3679.  
  3680.  
  3681.  
  3682.  
  3683.  
  3684.  
  3685.  
  3686.  
  3687.  
  3688.  
  3689.  
  3690.  
  3691.  
  3692.                                   Page - 56
  3693.  
  3694.  
  3695.  
  3696.  
  3697.